﻿/* ============================================================
   SITE.CSS — Lauredal CRM
   Base: SB Admin 2 (Bootstrap 4)
   Overrides: Paleta corporativa Instituto Gerontológico Lauredal

   Paleta:
     Verde hoja      --lrd-green:       #5a8a3c
     Verde lima      --lrd-green-light: #7ab648
     Verde oscuro    --lrd-green-dark:  #3d6128
     Gris piedra     --lrd-stone:       #8a8c7a
     Beige arena     --lrd-sand:        #d4c9a8
     Grafito         --lrd-graphite:    #4a4f44
   ============================================================ */

/* ──────────────────────────────────────────
   CSS VARIABLES
────────────────────────────────────────── */
:root {
    /* Lauredal brand */
    --lrd-green: #5a8a3c;
    --lrd-green-light: #7ab648;
    --lrd-green-xlight: #e8f3de;
    --lrd-green-dark: #3d6128;
    --lrd-stone: #8a8c7a;
    --lrd-stone-light: #c8cab8;
    --lrd-sand: #d4c9a8;
    --lrd-sand-light: #f5f2ea;
    --lrd-graphite: #4a4f44;
    --lrd-sidebar-bg: #f0f4ec; /* sidebar claro, diferente a Montevil */
    --lrd-sidebar-text: #3d4a38;
    /* Bootstrap / SB Admin 2 tokens */
    --blue: #4e73df;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e83e8c;
    --red: #e74a3b;
    --orange: #fd7e14;
    --yellow: #f6c23e;
    --green: #1cc88a;
    --teal: #20c9a6;
    --cyan: #36b9cc;
    --white: #fff;
    --gray: #858796;
    --gray-dark: #5a5c69;
    --primary: #5a8a3c;
    --secondary: #8a8c7a;
    --success: #1cc88a;
    --info: #36b9cc;
    --warning: #f6c23e;
    --danger: #e74a3b;
    --light: #f8f9fc;
    --dark: #4a4f44;
    --font-family-sans-serif: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* ──────────────────────────────────────────
   RESET & BASE
────────────────────────────────────────── */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    position: relative;
    min-height: 100%;
}

body {
    margin: 0;
    font-family: var(--font-family-sans-serif);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #5a5c69;
    background-color: #fff;
    height: 100%;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    margin-bottom: .5rem;
    font-weight: 400;
    line-height: 1.2;
    margin-top: 0;
}

h1, .h1 {
    font-size: 2.5rem;
}

h2, .h2 {
    font-size: 2rem;
}

h3, .h3 {
    font-size: 1.75rem;
}

h4, .h4 {
    font-size: 1.5rem;
}

h5, .h5 {
    font-size: 1.25rem;
}

h6, .h6 {
    font-size: 1rem;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

a {
    color: var(--lrd-green);
    text-decoration: none;
    background-color: transparent;
}

    a:hover {
        color: var(--lrd-green-dark);
        text-decoration: underline;
    }

    a:focus {
        outline: none;
    }

img {
    vertical-align: middle;
    border-style: none;
}

svg {
    overflow: hidden;
    vertical-align: middle;
}

table {
    border-collapse: collapse;
}

hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(0,0,0,.1);
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

small, .small {
    font-size: 80%;
    font-weight: 400;
}

label {
    display: inline-block;
    margin-bottom: .5rem;
}

button {
    border-radius: 0;
}

    button:focus:not(:focus-visible) {
        outline: 0;
    }

input, button, select, optgroup, textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button, input {
    overflow: visible;
}

button, select {
    text-transform: none;
}

textarea {
    overflow: auto;
    resize: vertical;
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

/* ──────────────────────────────────────────
   GRID (Bootstrap 4)
────────────────────────────────────────── */
.container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
    width: 100%;
    padding-right: .75rem;
    padding-left: .75rem;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width:576px) {
    .container, .container-sm {
        max-width: 540px;
    }
}

@media (min-width:768px) {
    .container, .container-sm, .container-md {
        max-width: 720px;
    }
}

@media (min-width:992px) {
    .container, .container-sm, .container-md, .container-lg {
        max-width: 960px;
    }
}

@media (min-width:1200px) {
    .container, .container-sm, .container-md, .container-lg, .container-xl {
        max-width: 1140px;
    }
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -.75rem;
    margin-left: -.75rem;
}

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

    .no-gutters > .col, .no-gutters > [class*="col-"] {
        padding-right: 0;
        padding-left: 0;
    }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto,
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto,
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto,
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto,
.col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto {
    position: relative;
    width: 100%;
    padding-right: .75rem;
    padding-left: .75rem;
}

.col {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
}

.col-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
}

.col-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
}

.col-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

.col-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
}

.col-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
}

.col-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.col-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
}

.col-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
}

.col-9 {
    flex: 0 0 75%;
    max-width: 75%;
}

.col-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
}

.col-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%;
}

@media (min-width:576px) {
    .col-sm {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-sm-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-sm-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }

    .col-sm-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }

    .col-sm-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-sm-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-sm-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%
    }

    .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-sm-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%
    }

    .col-sm-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }

    .col-sm-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-sm-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%
    }

    .col-sm-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%
    }

    .col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media (min-width:768px) {
    .col-md {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-md-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-md-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }

    .col-md-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }

    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-md-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-md-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%
    }

    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-md-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%
    }

    .col-md-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }

    .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-md-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%
    }

    .col-md-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%
    }

    .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media (min-width:992px) {
    .col-lg {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-lg-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-lg-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }

    .col-lg-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }

    .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-lg-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-lg-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%
    }

    .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-lg-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%
    }

    .col-lg-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }

    .col-lg-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-lg-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%
    }

    .col-lg-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%
    }

    .col-lg-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media (min-width:1200px) {
    .col-xl {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-xl-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-xl-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }

    .col-xl-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }

    .col-xl-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-xl-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-xl-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%
    }

    .col-xl-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-xl-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%
    }

    .col-xl-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }

    .col-xl-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-xl-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%
    }

    .col-xl-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%
    }

    .col-xl-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
}

/* ──────────────────────────────────────────
   DISPLAY & FLEX UTILITIES
────────────────────────────────────────── */
.d-none {
    display: none !important
}

.d-inline {
    display: inline !important
}

.d-inline-block {
    display: inline-block !important
}

.d-block {
    display: block !important
}

.d-flex {
    display: flex !important
}

.d-inline-flex {
    display: inline-flex !important
}

@media (min-width:576px) {
    .d-sm-none {
        display: none !important
    }

    .d-sm-block {
        display: block !important
    }

    .d-sm-flex {
        display: flex !important
    }

    .d-sm-inline-block {
        display: inline-block !important
    }
}

@media (min-width:768px) {
    .d-md-none {
        display: none !important
    }

    .d-md-block {
        display: block !important
    }

    .d-md-flex {
        display: flex !important
    }

    .d-md-inline-block {
        display: inline-block !important
    }
}

@media (min-width:992px) {
    .d-lg-none {
        display: none !important
    }

    .d-lg-block {
        display: block !important
    }

    .d-lg-flex {
        display: flex !important
    }

    .d-lg-inline-block {
        display: inline-block !important
    }
}

.flex-column {
    flex-direction: column !important
}

.flex-row {
    flex-direction: row !important
}

.flex-wrap {
    flex-wrap: wrap !important
}

.flex-nowrap {
    flex-wrap: nowrap !important
}

.flex-fill {
    flex: 1 1 auto !important
}

.flex-grow-1 {
    flex-grow: 1 !important
}

.flex-shrink-0 {
    flex-shrink: 0 !important
}

.justify-content-start {
    justify-content: flex-start !important
}

.justify-content-end {
    justify-content: flex-end !important
}

.justify-content-center {
    justify-content: center !important
}

.justify-content-between {
    justify-content: space-between !important
}

.align-items-start {
    align-items: flex-start !important
}

.align-items-end {
    align-items: flex-end !important
}

.align-items-center {
    align-items: center !important
}

.align-items-stretch {
    align-items: stretch !important
}

.align-self-center {
    align-self: center !important
}

.align-self-end {
    align-self: flex-end !important
}

/* ──────────────────────────────────────────
   SPACING
────────────────────────────────────────── */
.m-0 {
    margin: 0 !important
}

.mt-0, .my-0 {
    margin-top: 0 !important
}

.mb-0, .my-0 {
    margin-bottom: 0 !important
}

.ml-0, .mx-0 {
    margin-left: 0 !important
}

.mr-0, .mx-0 {
    margin-right: 0 !important
}

.m-1 {
    margin: .25rem !important
}

.mt-1, .my-1 {
    margin-top: .25rem !important
}

.mb-1, .my-1 {
    margin-bottom: .25rem !important
}

.ml-1, .mx-1 {
    margin-left: .25rem !important
}

.mr-1, .mx-1 {
    margin-right: .25rem !important
}

.m-2 {
    margin: .5rem !important
}

.mt-2, .my-2 {
    margin-top: .5rem !important
}

.mb-2, .my-2 {
    margin-bottom: .5rem !important
}

.ml-2, .mx-2 {
    margin-left: .5rem !important
}

.mr-2, .mx-2 {
    margin-right: .5rem !important
}

.m-3 {
    margin: 1rem !important
}

.mt-3, .my-3 {
    margin-top: 1rem !important
}

.mb-3, .my-3 {
    margin-bottom: 1rem !important
}

.ml-3, .mx-3 {
    margin-left: 1rem !important
}

.mr-3, .mx-3 {
    margin-right: 1rem !important
}

.m-4 {
    margin: 1.5rem !important
}

.mt-4, .my-4 {
    margin-top: 1.5rem !important
}

.mb-4, .my-4 {
    margin-bottom: 1.5rem !important
}

.ml-4, .mx-4 {
    margin-left: 1.5rem !important
}

.mr-4, .mx-4 {
    margin-right: 1.5rem !important
}

.m-5 {
    margin: 3rem !important
}

.mt-5, .my-5 {
    margin-top: 3rem !important
}

.mb-5, .my-5 {
    margin-bottom: 3rem !important
}

.ml-5, .mx-5 {
    margin-left: 3rem !important
}

.mr-5, .mx-5 {
    margin-right: 3rem !important
}

.ml-auto, .mx-auto {
    margin-left: auto !important
}

.mr-auto, .mx-auto {
    margin-right: auto !important
}

.mt-auto, .my-auto {
    margin-top: auto !important
}

.mb-auto, .my-auto {
    margin-bottom: auto !important
}

.m-auto {
    margin: auto !important
}

.p-0 {
    padding: 0 !important
}

.pt-0, .py-0 {
    padding-top: 0 !important
}

.pb-0, .py-0 {
    padding-bottom: 0 !important
}

.pl-0, .px-0 {
    padding-left: 0 !important
}

.pr-0, .px-0 {
    padding-right: 0 !important
}

.p-1 {
    padding: .25rem !important
}

.pt-1, .py-1 {
    padding-top: .25rem !important
}

.pb-1, .py-1 {
    padding-bottom: .25rem !important
}

.pl-1, .px-1 {
    padding-left: .25rem !important
}

.pr-1, .px-1 {
    padding-right: .25rem !important
}

.p-2 {
    padding: .5rem !important
}

.pt-2, .py-2 {
    padding-top: .5rem !important
}

.pb-2, .py-2 {
    padding-bottom: .5rem !important
}

.pl-2, .px-2 {
    padding-left: .5rem !important
}

.pr-2, .px-2 {
    padding-right: .5rem !important
}

.p-3 {
    padding: 1rem !important
}

.pt-3, .py-3 {
    padding-top: 1rem !important
}

.pb-3, .py-3 {
    padding-bottom: 1rem !important
}

.pl-3, .px-3 {
    padding-left: 1rem !important
}

.pr-3, .px-3 {
    padding-right: 1rem !important
}

.p-4 {
    padding: 1.5rem !important
}

.pt-4, .py-4 {
    padding-top: 1.5rem !important
}

.pb-4, .py-4 {
    padding-bottom: 1.5rem !important
}

.pl-4, .px-4 {
    padding-left: 1.5rem !important
}

.pr-4, .px-4 {
    padding-right: 1.5rem !important
}

.p-5 {
    padding: 3rem !important
}

.pt-5, .py-5 {
    padding-top: 3rem !important
}

.pb-5, .py-5 {
    padding-bottom: 3rem !important
}

.pl-5, .px-5 {
    padding-left: 3rem !important
}

.pr-5, .px-5 {
    padding-right: 3rem !important
}

/* ──────────────────────────────────────────
   TEXT UTILITIES
────────────────────────────────────────── */
.text-left {
    text-align: left !important
}

.text-right {
    text-align: right !important
}

.text-center {
    text-align: center !important
}

.text-uppercase {
    text-transform: uppercase !important
}

.text-lowercase {
    text-transform: lowercase !important
}

.text-capitalize {
    text-transform: capitalize !important
}

.text-nowrap {
    white-space: nowrap !important
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.font-weight-light {
    font-weight: 300 !important
}

.font-weight-normal {
    font-weight: 400 !important
}

.font-weight-bold {
    font-weight: 700 !important
}

.font-weight-bolder {
    font-weight: bolder !important
}

.font-italic {
    font-style: italic !important
}

.text-white {
    color: #fff !important
}

.text-muted {
    color: #858796 !important
}

.text-body {
    color: #5a5c69 !important
}

.text-primary {
    color: var(--lrd-green) !important
}

.text-secondary {
    color: #8a8c7a !important
}

.text-success {
    color: #1cc88a !important
}

.text-info {
    color: #36b9cc !important
}

.text-warning {
    color: #f6c23e !important
}

.text-danger {
    color: #e74a3b !important
}

.text-dark {
    color: var(--lrd-graphite) !important
}

.text-light {
    color: #f8f9fc !important
}

.text-gray-100 {
    color: #f8f9fc !important
}

.text-gray-200 {
    color: #eaecf4 !important
}

.text-gray-300 {
    color: #dddfeb !important
}

.text-gray-400 {
    color: #d1d3e2 !important
}

.text-gray-500 {
    color: #b7b9cc !important
}

.text-gray-600 {
    color: #858796 !important
}

.text-gray-700 {
    color: #6e707e !important
}

.text-gray-800 {
    color: #5a5c69 !important
}

.text-gray-900 {
    color: #3a3b45 !important
}

.text-xs {
    font-size: .7rem
}

.text-lg {
    font-size: 1.2rem
}
/* Lauredal brand text */
.text-lauredal {
    color: var(--lrd-green) !important
}

.text-lauredal-light {
    color: var(--lrd-green-light) !important
}

.text-lauredal-stone {
    color: var(--lrd-stone) !important
}

/* ──────────────────────────────────────────
   BACKGROUNDS
────────────────────────────────────────── */
.bg-white {
    background-color: #fff !important
}

.bg-transparent {
    background-color: transparent !important
}

.bg-primary {
    background-color: var(--lrd-green) !important
}

.bg-secondary {
    background-color: #8a8c7a !important
}

.bg-success {
    background-color: #1cc88a !important
}

.bg-info {
    background-color: #36b9cc !important
}

.bg-warning {
    background-color: #f6c23e !important
}

.bg-danger {
    background-color: #e74a3b !important
}

.bg-light {
    background-color: #f8f9fc !important
}

.bg-dark {
    background-color: var(--lrd-graphite) !important
}

.bg-gray-100 {
    background-color: #f8f9fc !important
}

.bg-gray-200 {
    background-color: #eaecf4 !important
}

.bg-gray-800 {
    background-color: #5a5c69 !important
}

.bg-gray-900 {
    background-color: #3a3b45 !important
}

.bg-lauredal-sand {
    background-color: var(--lrd-sand-light) !important
}

/* Gradientes */
.bg-gradient-primary {
    background: linear-gradient(180deg, #f7f9f5 0%, #e8f0e2 100%) !important;
}

.bg-gradient-success {
    background-color: #1cc88a;
    background-image: linear-gradient(180deg,#1cc88a 10%,#13855c 100%);
    background-size: cover
}

.bg-gradient-info {
    background-color: #36b9cc;
    background-image: linear-gradient(180deg,#36b9cc 10%,#258391 100%);
    background-size: cover
}

.bg-gradient-warning {
    background-color: #f6c23e;
    background-image: linear-gradient(180deg,#f6c23e 10%,#dda20a 100%);
    background-size: cover
}

.bg-gradient-danger {
    background-color: #e74a3b;
    background-image: linear-gradient(180deg,#e74a3b 10%,#be2617 100%);
    background-size: cover
}

/* ──────────────────────────────────────────
   BORDERS
────────────────────────────────────────── */
.border {
    border: 1px solid #e3e6f0 !important
}

.border-0 {
    border: 0 !important
}

.border-top {
    border-top: 1px solid #e3e6f0 !important
}

.border-bottom {
    border-bottom: 1px solid #e3e6f0 !important
}

.border-left {
    border-left: 1px solid #e3e6f0 !important
}

.border-right {
    border-right: 1px solid #e3e6f0 !important
}

.border-primary {
    border-color: var(--lrd-green) !important
}

.border-success {
    border-color: #1cc88a !important
}

.border-info {
    border-color: #36b9cc !important
}

.border-warning {
    border-color: #f6c23e !important
}

.border-danger {
    border-color: #e74a3b !important
}

.border-white {
    border-color: #fff !important
}

/* KPI left borders */
.border-left-primary {
    border-left: .25rem solid var(--lrd-green) !important
}

.border-left-secondary {
    border-left: .25rem solid #8a8c7a !important
}

.border-left-success {
    border-left: .25rem solid #1cc88a !important
}

.border-left-info {
    border-left: .25rem solid #36b9cc !important
}

.border-left-warning {
    border-left: .25rem solid #f6c23e !important
}

.border-left-danger {
    border-left: .25rem solid #e74a3b !important
}

.border-left-dark {
    border-left: .25rem solid var(--lrd-graphite) !important
}
/* Lauredal extras */
.border-left-lauredal {
    border-left: .25rem solid var(--lrd-green) !important
}

.border-left-lime {
    border-left: .25rem solid var(--lrd-green-light) !important
}

.border-left-stone {
    border-left: .25rem solid var(--lrd-stone) !important
}

.border-left-sand {
    border-left: .25rem solid var(--lrd-sand) !important
}

.rounded {
    border-radius: .35rem !important
}

.rounded-sm {
    border-radius: .2rem !important
}

.rounded-lg {
    border-radius: .3rem !important
}

.rounded-circle {
    border-radius: 50% !important
}

.rounded-pill {
    border-radius: 50rem !important
}

.rounded-0 {
    border-radius: 0 !important
}

/* ──────────────────────────────────────────
   SHADOWS / SIZING / POSITION
────────────────────────────────────────── */
.shadow-sm {
    box-shadow: 0 .125rem .25rem 0 rgba(74,79,68,.15) !important
}

.shadow {
    box-shadow: 0 .15rem 1.75rem 0 rgba(74,79,68,.1) !important
}

.shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0,0,0,.15) !important
}

.shadow-none {
    box-shadow: none !important
}

.w-25 {
    width: 25% !important
}

.w-50 {
    width: 50% !important
}

.w-75 {
    width: 75% !important
}

.w-100 {
    width: 100% !important
}

.w-auto {
    width: auto !important
}

.h-100 {
    height: 100% !important
}

.mw-100 {
    max-width: 100% !important
}

.mh-100 {
    max-height: 100% !important
}

.position-relative {
    position: relative !important
}

.position-absolute {
    position: absolute !important
}

.position-fixed {
    position: fixed !important
}

.position-static {
    position: static !important
}

.overflow-hidden {
    overflow: hidden !important
}

.overflow-auto {
    overflow: auto !important
}

.o-hidden {
    overflow: hidden !important
}

.float-left {
    float: left !important
}

.float-right {
    float: right !important
}

.float-none {
    float: none !important
}

.clearfix::after {
    display: block;
    clear: both;
    content: ""
}

.visible {
    visibility: visible !important
}

.invisible {
    visibility: hidden !important
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

/* ──────────────────────────────────────────
   TABLES
────────────────────────────────────────── */
.table {
    width: 100%;
    margin-bottom: 1rem;
    color: #5a5c69
}

    .table th, .table td {
        padding: .75rem;
        vertical-align: top;
        border-top: 1px solid #e8ede8
    }

    .table thead th {
        vertical-align: bottom;
        border-bottom: 2px solid var(--lrd-green-xlight);
        background-color: #f2f6ee;
        color: var(--lrd-green-dark);
        font-size: .75rem;
        text-transform: uppercase;
        letter-spacing: .06rem;
        font-weight: 800;
    }

    .table tbody + tbody {
        border-top: 2px solid #e8ede8
    }

.table-sm th, .table-sm td {
    padding: .3rem
}

.table-bordered {
    border: 1px solid #e3e6f0
}

    .table-bordered th, .table-bordered td {
        border: 1px solid #e3e6f0
    }

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(90,138,60,.04)
}

.table-hover tbody tr:hover {
    background-color: #f2f7ee !important
}

.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
}

/* ──────────────────────────────────────────
   FORMS
────────────────────────────────────────── */
.form-control {
    display: block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #5a5c69;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #d4d8cc;
    border-radius: .35rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

    .form-control:focus {
        color: #5a5c69;
        background-color: #fff;
        border-color: #9abf7a;
        outline: 0;
        box-shadow: 0 0 0 .2rem rgba(90,138,60,.18);
    }

    .form-control::placeholder {
        color: #b0b5a8;
        opacity: 1
    }

    .form-control:disabled, .form-control[readonly] {
        background-color: #f0f2ec;
        opacity: 1
    }

.form-control-sm {
    height: calc(1.5em + .5rem + 2px);
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: .2rem
}

.form-control-lg {
    height: calc(1.5em + 1rem + 2px);
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: .3rem
}

textarea.form-control {
    height: auto
}

.form-group {
    margin-bottom: 1rem
}

.form-text {
    display: block;
    margin-top: .25rem
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -5px;
    margin-left: -5px
}

    .form-row > .col, .form-row > [class*="col-"] {
        padding-right: 5px;
        padding-left: 5px
    }

.col-form-label {
    padding-top: calc(.375rem + 1px);
    padding-bottom: calc(.375rem + 1px);
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5
}

.valid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: 80%;
    color: #1cc88a
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: 80%;
    color: #e74a3b
}

.was-validated :valid ~ .valid-feedback, .is-valid ~ .valid-feedback {
    display: block
}

.was-validated :invalid ~ .invalid-feedback, .is-invalid ~ .invalid-feedback {
    display: block
}

.was-validated .form-control:valid, .form-control.is-valid {
    border-color: #1cc88a
}

.was-validated .form-control:invalid, .form-control.is-invalid {
    border-color: #e74a3b
}

.custom-select {
    display: inline-block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem 1.75rem .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #5a5c69;
    vertical-align: middle;
    background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%234a4f44' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;
    border: 1px solid #d4d8cc;
    border-radius: .35rem;
    appearance: none;
}

    .custom-select:focus {
        border-color: #9abf7a;
        outline: 0;
        box-shadow: 0 0 0 .2rem rgba(90,138,60,.18)
    }

form.user .form-control-user {
    font-size: .8rem;
    border-radius: 10rem;
    padding: 1.5rem 1rem;
    border-color: #c0d0b0;
    background-color: #fafcf8
}

    form.user .form-control-user:focus {
        border-color: var(--lrd-green);
        box-shadow: 0 0 0 .2rem rgba(90,138,60,.2)
    }

form.user .btn-user {
    font-size: .8rem;
    border-radius: 10rem;
    padding: .75rem 1rem
}

/* ──────────────────────────────────────────
   BUTTONS
────────────────────────────────────────── */
.btn {
    display: inline-block;
    font-weight: 400;
    color: #5a5c69;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: .35rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

    .btn:hover {
        color: #5a5c69;
        text-decoration: none
    }

    .btn:focus, .btn.focus {
        outline: 0;
        box-shadow: 0 0 0 .2rem rgba(90,138,60,.25)
    }

    .btn.disabled, .btn:disabled {
        opacity: .65
    }

.btn-primary {
    color: #fff;
    background-color: var(--lrd-green);
    border-color: var(--lrd-green)
}

    .btn-primary:hover {
        color: #fff;
        background-color: var(--lrd-green-dark);
        border-color: var(--lrd-green-dark)
    }

    .btn-primary:focus, .btn-primary.focus {
        color: #fff;
        background-color: var(--lrd-green-dark);
        box-shadow: 0 0 0 .2rem rgba(90,138,60,.4)
    }

    .btn-primary:not(:disabled):not(.disabled):active {
        color: #fff;
        background-color: #2d4a1e;
        border-color: #2d4a1e
    }

    .btn-primary.disabled, .btn-primary:disabled {
        color: #fff;
        background-color: var(--lrd-green);
        border-color: var(--lrd-green)
    }

.btn-secondary {
    color: #fff;
    background-color: #8a8c7a;
    border-color: #8a8c7a
}

    .btn-secondary:hover {
        color: #fff;
        background-color: #737568;
        border-color: #6c6e62
    }

.btn-success {
    color: #fff;
    background-color: #1cc88a;
    border-color: #1cc88a
}

    .btn-success:hover {
        color: #fff;
        background-color: #17a673;
        border-color: #169b6b
    }

.btn-info {
    color: #fff;
    background-color: #36b9cc;
    border-color: #36b9cc
}

    .btn-info:hover {
        color: #fff;
        background-color: #2c9faf;
        border-color: #2a96a5
    }

.btn-warning {
    color: #fff;
    background-color: #f6c23e;
    border-color: #f6c23e
}

    .btn-warning:hover {
        color: #fff;
        background-color: #f4b619;
        border-color: #f4b30d
    }

.btn-danger {
    color: #fff;
    background-color: #e74a3b;
    border-color: #e74a3b
}

    .btn-danger:hover {
        color: #fff;
        background-color: #e02d1b;
        border-color: #d52a1a
    }

.btn-light {
    color: var(--lrd-graphite);
    background-color: #f8f9fc;
    border-color: #e8ece4
}

    .btn-light:hover {
        color: var(--lrd-graphite);
        background-color: #e8ede2;
        border-color: #dce3d4
    }

.btn-dark {
    color: #fff;
    background-color: var(--lrd-graphite);
    border-color: var(--lrd-graphite)
}

    .btn-dark:hover {
        color: #fff;
        background-color: #363a32;
        border-color: #2e312a
    }

.btn-link {
    font-weight: 400;
    color: var(--lrd-green);
    text-decoration: none
}

    .btn-link:hover {
        color: var(--lrd-green-dark);
        text-decoration: underline
    }

.btn-outline-primary {
    color: var(--lrd-green);
    border-color: var(--lrd-green)
}

    .btn-outline-primary:hover {
        color: #fff;
        background-color: var(--lrd-green);
        border-color: var(--lrd-green)
    }

.btn-outline-secondary {
    color: #8a8c7a;
    border-color: #8a8c7a
}

    .btn-outline-secondary:hover {
        color: #fff;
        background-color: #8a8c7a
    }

.btn-outline-success {
    color: #1cc88a;
    border-color: #1cc88a
}

    .btn-outline-success:hover {
        color: #fff;
        background-color: #1cc88a
    }

.btn-outline-info {
    color: #36b9cc;
    border-color: #36b9cc
}

    .btn-outline-info:hover {
        color: #fff;
        background-color: #36b9cc
    }

.btn-outline-warning {
    color: #f6c23e;
    border-color: #f6c23e
}

    .btn-outline-warning:hover {
        color: #fff;
        background-color: #f6c23e
    }

.btn-outline-danger {
    color: #e74a3b;
    border-color: #e74a3b
}

    .btn-outline-danger:hover {
        color: #fff;
        background-color: #e74a3b
    }

.btn-outline-dark {
    color: var(--lrd-graphite);
    border-color: var(--lrd-graphite)
}

    .btn-outline-dark:hover {
        color: #fff;
        background-color: var(--lrd-graphite)
    }

.btn-lg, .btn-group-lg > .btn {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: .3rem
}

.btn-sm, .btn-group-sm > .btn {
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: .2rem
}

.btn-block {
    display: block;
    width: 100%
}

    .btn-block + .btn-block {
        margin-top: .5rem
    }

.btn-circle {
    border-radius: 100%;
    height: 2.5rem;
    width: 2.5rem;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

    .btn-circle.btn-sm, .btn-group-sm > .btn-circle.btn {
        height: 1.8rem;
        width: 1.8rem;
        font-size: .75rem
    }

    .btn-circle.btn-lg, .btn-group-lg > .btn-circle.btn {
        height: 3.5rem;
        width: 3.5rem;
        font-size: 1.35rem
    }

.btn-icon-split {
    padding: 0;
    overflow: hidden;
    display: inline-flex;
    align-items: stretch;
    justify-content: center
}

    .btn-icon-split .icon {
        background: rgba(0,0,0,.15);
        display: inline-block;
        padding: .375rem .75rem
    }

    .btn-icon-split .text {
        display: inline-block;
        padding: .375rem .75rem
    }

/* ──────────────────────────────────────────
   BADGES
────────────────────────────────────────── */
.badge {
    display: inline-block;
    padding: .25em .4em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .35rem
}

    .badge:empty {
        display: none
    }

.badge-pill {
    padding-right: .6em;
    padding-left: .6em;
    border-radius: 10rem
}

.badge-primary {
    color: #fff;
    background-color: var(--lrd-green)
}

.badge-secondary {
    color: #fff;
    background-color: #8a8c7a
}

.badge-success {
    color: #fff;
    background-color: #1cc88a
}

.badge-info {
    color: #fff;
    background-color: #36b9cc
}

.badge-warning {
    color: #fff;
    background-color: #f6c23e
}

.badge-danger {
    color: #fff;
    background-color: #e74a3b
}

.badge-light {
    color: var(--lrd-graphite);
    background-color: #f8f9fc
}

.badge-dark {
    color: #fff;
    background-color: var(--lrd-graphite)
}

.badge-lauredal {
    color: #fff;
    background-color: var(--lrd-green)
}

.badge-lime {
    color: #fff;
    background-color: var(--lrd-green-light)
}

.badge-stone {
    color: #fff;
    background-color: var(--lrd-stone)
}

.badge-counter {
    position: absolute;
    transform: scale(.7);
    transform-origin: top right;
    right: .25rem;
    margin-top: -.25rem
}

/* ──────────────────────────────────────────
   ALERTS
────────────────────────────────────────── */
.alert {
    position: relative;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .35rem
}

.alert-primary {
    color: #2d4a1e;
    background-color: #ddeedd;
    border-color: #cce3cc
}

.alert-secondary {
    color: #3d3f34;
    background-color: #e5e6e0;
    border-color: #d8d9d2
}

.alert-success {
    color: #0f6848;
    background-color: #d2f4e8;
    border-color: #bff0de
}

.alert-info {
    color: #1c606a;
    background-color: #d7f1f5;
    border-color: #c7ebf1
}

.alert-warning {
    color: #806520;
    background-color: #fdf3d8;
    border-color: #fceec9
}

.alert-danger {
    color: #78261f;
    background-color: #fadbd8;
    border-color: #f8ccc8
}

.alert-dismissible {
    padding-right: 4rem
}

    .alert-dismissible .close {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 2;
        padding: .75rem 1.25rem;
        color: inherit
    }

/* ──────────────────────────────────────────
   CARDS
────────────────────────────────────────── */
.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid #e8ede4;
    border-radius: .4rem;
    box-shadow: 0 .1rem .8rem 0 rgba(74,79,68,.07);
    transition: box-shadow .2s ease;
}

    .card:hover {
        box-shadow: 0 .2rem 1.2rem 0 rgba(90,138,60,.1)
    }

    .card > .hr {
        margin-right: 0;
        margin-left: 0
    }

.card-body {
    flex: 1 1 auto;
    min-height: 1px;
    padding: 1.25rem
}

.card-title {
    margin-bottom: .75rem
}

.card-subtitle {
    margin-top: -.375rem;
    margin-bottom: 0
}

.card-text:last-child {
    margin-bottom: 0
}

.card-header {
    padding: .75rem 1.25rem;
    margin-bottom: 0;
    background-color: #f4f7f1;
    border-bottom: 1px solid #e4ebe0;
    font-weight: 700;
    color: var(--lrd-green-dark);
}

    .card-header:first-child {
        border-radius: calc(.4rem - 1px) calc(.4rem - 1px) 0 0
    }

.card-footer {
    padding: .75rem 1.25rem;
    background-color: #f4f7f1;
    border-top: 1px solid #e4ebe0
}

    .card-footer:last-child {
        border-radius: 0 0 calc(.4rem - 1px) calc(.4rem - 1px)
    }
/* Card header Lauredal gradient */
.card-header-lauredal {
    background: linear-gradient(90deg,var(--lrd-green) 0%,var(--lrd-green-light) 100%);
    color: #fff !important;
    border-bottom: none;
    border-radius: calc(.4rem - 1px) calc(.4rem - 1px) 0 0;
}

    .card-header-lauredal .text-muted {
        color: rgba(255,255,255,.75) !important
    }

.card-deck .card {
    margin-bottom: .75rem
}

@media (min-width:576px) {
    .card-deck {
        display: flex;
        flex-flow: row wrap;
        margin-right: -.75rem;
        margin-left: -.75rem
    }

        .card-deck .card {
            flex: 1 0 0%;
            margin-right: .75rem;
            margin-bottom: 0;
            margin-left: .75rem
        }
}

/* ──────────────────────────────────────────
   NAVBAR
────────────────────────────────────────── */
.navbar {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: .5rem 1rem
}

.navbar-brand {
    display: inline-block;
    padding-top: .3125rem;
    padding-bottom: .3125rem;
    margin-right: 1rem;
    font-size: 1.25rem;
    line-height: inherit;
    white-space: nowrap
}

    .navbar-brand:hover, .navbar-brand:focus {
        text-decoration: none
    }

.navbar-nav {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

    .navbar-nav .nav-link {
        padding-right: 0;
        padding-left: 0
    }

.navbar-collapse {
    flex-basis: 100%;
    flex-grow: 1;
    align-items: center
}

.navbar-toggler {
    padding: .25rem .75rem;
    font-size: 1.25rem;
    line-height: 1;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: .35rem
}

.navbar-light .navbar-brand {
    color: rgba(0,0,0,.9)
}

.navbar-light .navbar-nav .nav-link {
    color: rgba(0,0,0,.5)
}

    .navbar-light .navbar-nav .nav-link:hover {
        color: rgba(0,0,0,.7)
    }

.navbar-dark .navbar-brand {
    color: #fff
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255,255,255,.6)
}

    .navbar-dark .navbar-nav .nav-link:hover {
        color: rgba(255,255,255,.85)
    }

@media (min-width:992px) {
    .navbar-expand-lg {
        flex-flow: row nowrap;
        justify-content: flex-start
    }

        .navbar-expand-lg .navbar-nav {
            flex-direction: row
        }

            .navbar-expand-lg .navbar-nav .dropdown-menu {
                position: absolute
            }

            .navbar-expand-lg .navbar-nav .nav-link {
                padding-right: .5rem;
                padding-left: .5rem
            }

        .navbar-expand-lg .navbar-collapse {
            display: flex !important;
            flex-basis: auto
        }

        .navbar-expand-lg .navbar-toggler {
            display: none
        }
}

/* ──────────────────────────────────────────
   NAV & TABS
────────────────────────────────────────── */
.nav {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.nav-link {
    display: block;
    padding: .5rem 1rem
}

    .nav-link:hover, .nav-link:focus {
        text-decoration: none
    }

    .nav-link.disabled {
        color: #858796;
        pointer-events: none;
        cursor: default
    }

.nav-tabs {
    border-bottom: 1px solid #d8e0d0
}

    .nav-tabs .nav-link {
        margin-bottom: -1px;
        border: 1px solid transparent;
        border-top-left-radius: .35rem;
        border-top-right-radius: .35rem
    }

        .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
            border-color: #e4ebe0 #e4ebe0 #d8e0d0
        }

        .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
            color: var(--lrd-green-dark);
            background-color: #fff;
            border-color: #d8e0d0 #d8e0d0 #fff
        }

.tab-content > .tab-pane {
    display: none
}

.tab-content > .active {
    display: block
}

.nav-pills .nav-link {
    border-radius: .35rem
}

    .nav-pills .nav-link.active, .nav-pills .show > .nav-link {
        color: #fff;
        background-color: var(--lrd-green)
    }

/* ──────────────────────────────────────────
   DROPDOWN
────────────────────────────────────────── */
.dropdown, .dropup, .dropright, .dropleft {
    position: relative
}

.dropdown-toggle {
    white-space: nowrap
}

    .dropdown-toggle::after {
        display: inline-block;
        margin-left: .255em;
        vertical-align: .255em;
        content: "";
        border-top: .3em solid;
        border-right: .3em solid transparent;
        border-bottom: 0;
        border-left: .3em solid transparent
    }

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 10rem;
    padding: .5rem 0;
    margin: .125rem 0 0;
    font-size: .85rem;
    color: #5a5c69;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #e0e6d8;
    border-radius: .4rem;
}

    .dropdown-menu.show {
        display: block
    }

.dropdown-menu-right {
    right: 0;
    left: auto
}

.dropdown-divider {
    height: 0;
    margin: .5rem 0;
    overflow: hidden;
    border-top: 1px solid #e8ede4
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: .25rem 1.5rem;
    clear: both;
    font-weight: 400;
    color: var(--lrd-graphite);
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0
}

    .dropdown-item:hover, .dropdown-item:focus {
        color: var(--lrd-green-dark);
        text-decoration: none;
        background-color: #f0f5ec
    }

    .dropdown-item.active, .dropdown-item:active {
        color: #fff;
        text-decoration: none;
        background-color: var(--lrd-green)
    }

    .dropdown-item.disabled, .dropdown-item:disabled {
        color: #b0b5a8;
        pointer-events: none;
        background-color: transparent
    }

.dropdown-header {
    display: block;
    padding: .5rem 1.5rem;
    margin-bottom: 0;
    font-size: .875rem;
    color: #8a8c7a;
    white-space: nowrap
}

.dropdown .dropdown-menu {
    font-size: .85rem
}

    .dropdown .dropdown-menu .dropdown-header {
        font-weight: 800;
        font-size: .65rem;
        color: #b0b5a8
    }

.dropdown.no-arrow .dropdown-toggle::after {
    display: none
}

/* ──────────────────────────────────────────
   PROGRESS
────────────────────────────────────────── */
.progress {
    display: flex;
    height: 1rem;
    overflow: hidden;
    font-size: .75rem;
    background-color: #e8ede4;
    border-radius: .35rem
}

.progress-bar {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    background-color: var(--lrd-green);
    transition: width .6s ease
}

.progress-sm {
    height: .5rem
}

/* ──────────────────────────────────────────
   LIST GROUP
────────────────────────────────────────── */
.list-group {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    border-radius: .4rem
}

.list-group-item {
    position: relative;
    display: block;
    padding: .75rem 1.25rem;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.1)
}

    .list-group-item:first-child {
        border-top-left-radius: inherit;
        border-top-right-radius: inherit
    }

    .list-group-item:last-child {
        border-bottom-right-radius: inherit;
        border-bottom-left-radius: inherit
    }

    .list-group-item.active {
        z-index: 2;
        color: #fff;
        background-color: var(--lrd-green);
        border-color: var(--lrd-green)
    }

    .list-group-item + .list-group-item {
        border-top-width: 0
    }

.list-group-item-action {
    width: 100%;
    color: #5a5c69;
    text-align: inherit
}

    .list-group-item-action:hover, .list-group-item-action:focus {
        z-index: 1;
        color: #5a5c69;
        text-decoration: none;
        background-color: #f4f7f1
    }

.list-group-flush {
    border-radius: 0
}

    .list-group-flush > .list-group-item {
        border-width: 0 0 1px
    }

        .list-group-flush > .list-group-item:last-child {
            border-bottom-width: 0
        }

/* ──────────────────────────────────────────
   PAGINATION
────────────────────────────────────────── */
.pagination {
    display: flex;
    padding-left: 0;
    list-style: none;
    border-radius: .35rem
}

.page-link {
    position: relative;
    display: block;
    padding: .5rem .75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: var(--lrd-green) !important;
    background-color: #fff;
    border: 1px solid #d8e0d0
}

    .page-link:hover {
        z-index: 2;
        color: var(--lrd-green-dark) !important;
        text-decoration: none;
        background-color: #f0f5ec;
        border-color: #d8e0d0
    }

.page-item:first-child .page-link {
    margin-left: 0;
    border-top-left-radius: .35rem;
    border-bottom-left-radius: .35rem
}

.page-item:last-child .page-link {
    border-top-right-radius: .35rem;
    border-bottom-right-radius: .35rem
}

.page-item.active .page-link {
    z-index: 3;
    color: #fff !important;
    background-color: var(--lrd-green) !important;
    border-color: var(--lrd-green) !important
}

.page-item.disabled .page-link {
    color: #8a8c7a !important;
    pointer-events: none;
    cursor: auto;
    background-color: #fff;
    border-color: #d8e0d0
}

/* ──────────────────────────────────────────
   MODALS
────────────────────────────────────────── */
.modal-open {
    overflow: hidden
}

    .modal-open .modal {
        overflow-x: hidden;
        overflow-y: auto
    }

.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    display: none;
    width: 100%;
    height: 100%;
    overflow: hidden;
    outline: 0
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: .5rem;
    pointer-events: none
}

.modal.fade .modal-dialog {
    transition: transform .3s ease-out;
    transform: translate(0,-50px)
}

.modal.show .modal-dialog {
    transform: none
}

.modal-dialog-centered {
    display: flex;
    align-items: center;
    min-height: calc(100% - 1rem)
}

.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: .4rem;
    outline: 0
}

.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #000
}

    .modal-backdrop.fade {
        opacity: 0
    }

    .modal-backdrop.show {
        opacity: .45
    }

.modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid #e4ebe0;
    border-top-left-radius: calc(.4rem - 1px);
    border-top-right-radius: calc(.4rem - 1px)
}

    .modal-header .close {
        padding: 1rem;
        margin: -1rem -1rem -1rem auto
    }

.modal-title {
    margin-bottom: 0;
    line-height: 1.5
}

.modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: 1rem
}

.modal-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    padding: .75rem;
    border-top: 1px solid #e4ebe0;
    border-bottom-right-radius: calc(.4rem - 1px);
    border-bottom-left-radius: calc(.4rem - 1px)
}

    .modal-footer > * {
        margin: .25rem
    }

@media (min-width:576px) {
    .modal-dialog {
        max-width: 500px;
        margin: 1.75rem auto
    }

    .modal-dialog-centered {
        min-height: calc(100% - 3.5rem)
    }

    .modal-sm {
        max-width: 300px
    }
}

@media (min-width:992px) {
    .modal-lg, .modal-xl {
        max-width: 800px
    }
}

@media (min-width:1200px) {
    .modal-xl {
        max-width: 1140px
    }
}

.modal-header-lauredal {
    background: linear-gradient(90deg,var(--lrd-green),var(--lrd-green-light));
    color: #fff
}

    .modal-header-lauredal .modal-title {
        color: #fff;
        font-weight: 700
    }

    .modal-header-lauredal .close {
        color: #fff;
        text-shadow: none;
        opacity: .8
    }

        .modal-header-lauredal .close:hover {
            opacity: 1
        }

/* ──────────────────────────────────────────
   BREADCRUMB
────────────────────────────────────────── */
.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    padding: .5rem 1rem;
    margin-bottom: 1rem;
    list-style: none;
    background-color: #f0f5ec;
    border-left: 3px solid var(--lrd-green-light);
    border-radius: 0 .35rem .35rem 0;
    font-size: .82rem;
}

.breadcrumb-item + .breadcrumb-item {
    padding-left: .5rem
}

    .breadcrumb-item + .breadcrumb-item::before {
        float: left;
        padding-right: .5rem;
        color: var(--lrd-green-light);
        content: "/"
    }

.breadcrumb-item a {
    color: var(--lrd-green)
}

.breadcrumb-item.active {
    color: #8a8c7a
}

/* ──────────────────────────────────────────
   INPUT GROUP
────────────────────────────────────────── */
.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%
}

    .input-group > .form-control {
        position: relative;
        flex: 1 1 auto;
        width: 1%;
        min-width: 0;
        margin-bottom: 0
    }

.input-group-prepend, .input-group-append {
    display: flex
}

.input-group-prepend {
    margin-right: -1px
}

.input-group-append {
    margin-left: -1px
}

.input-group-text {
    display: flex;
    align-items: center;
    padding: .375rem .75rem;
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #5a5c69;
    text-align: center;
    white-space: nowrap;
    background-color: #f0f2ec;
    border: 1px solid #d4d8cc;
    border-radius: .35rem
}

/* ──────────────────────────────────────────
   CLOSE
────────────────────────────────────────── */
.close {
    float: right;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .5;
    background-color: transparent;
    border: 0;
    cursor: pointer;
    padding: 0
}

    .close:hover {
        color: #000;
        text-decoration: none
    }

    .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
        opacity: .75
    }

/* ──────────────────────────────────────────
   ANIMATIONS
────────────────────────────────────────── */
@keyframes growIn {
    0% {
        transform: scale(.9);
        opacity: 0
    }

    100% {
        transform: scale(1);
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.animated--grow-in, .sidebar .nav-item .collapse {
    animation-name: growIn;
    animation-duration: 200ms;
    animation-timing-function: cubic-bezier(.18,1.25,.4,1)
}

.animated--fade-in {
    animation-name: fadeIn;
    animation-duration: 200ms
}

.collapse:not(.show) {
    display: none
}

.collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    transition: height .15s ease
}

.fade {
    transition: opacity .15s linear
}

    .fade:not(.show) {
        opacity: 0
    }

/* ──────────────────────────────────────────
   ICON CIRCLE
────────────────────────────────────────── */
.icon-circle {
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

.icon-circle-green {
    background-color: var(--lrd-green) !important;
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

.icon-circle-lime {
    background-color: var(--lrd-green-light) !important;
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

.icon-circle-stone {
    background-color: var(--lrd-stone) !important;
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

.icon-circle-sand {
    background-color: var(--lrd-sand) !important;
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

.icon-circle-info {
    background-color: #36b9cc !important;
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

/* ──────────────────────────────────────────
   WRAPPER & LAYOUT
────────────────────────────────────────── */
#wrapper {
    display: flex
}

    #wrapper #content-wrapper {
        background-color: #f8faf6;
        width: 100%;
        overflow-x: hidden
    }

        #wrapper #content-wrapper #content {
            flex: 1 0 auto
        }

.container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

/* ──────────────────────────────────────────
   SIDEBAR — estilo claro Lauredal
   Diferencia clave vs Montevil: fondo claro
   con acento verde lima, no oscuro
────────────────────────────────────────── */
.sidebar {
    width: 6.5rem;
    min-height: 100vh
}

    .sidebar .nav-item {
        position: relative
    }

        .sidebar .nav-item:last-child {
            margin-bottom: 1rem
        }

        .sidebar .nav-item .nav-link {
            text-align: center;
            padding: .75rem 1rem;
            width: 6.5rem;
            border-radius: .3rem;
            margin: .1rem .5rem;
            transition: all .2s ease
        }

            .sidebar .nav-item .nav-link span {
                font-size: .65rem;
                display: block
            }

        .sidebar .nav-item .collapse {
            position: absolute;
            left: calc(6.5rem + 1.5rem / 2);
            z-index: 1;
            top: 2px
        }

            .sidebar .nav-item .collapse .collapse-inner {
                border-radius: .4rem;
                box-shadow: 0 .15rem 1.75rem 0 rgba(74,79,68,.12)
            }

        .sidebar .nav-item .collapsing {
            display: none;
            transition: none
        }

            .sidebar .nav-item .collapse .collapse-inner, .sidebar .nav-item .collapsing .collapse-inner {
                padding: .5rem 0;
                min-width: 10rem;
                font-size: .85rem;
                margin: 0 0 1rem 0;
                background-color: #fff
            }

                .sidebar .nav-item .collapse .collapse-inner .collapse-header, .sidebar .nav-item .collapsing .collapse-inner .collapse-header {
                    margin: 0;
                    white-space: nowrap;
                    padding: .5rem 1.5rem;
                    text-transform: uppercase;
                    font-weight: 800;
                    font-size: .65rem;
                    color: #b0b5a8
                }

                .sidebar .nav-item .collapse .collapse-inner .collapse-item, .sidebar .nav-item .collapsing .collapse-inner .collapse-item {
                    padding: .5rem 1rem;
                    margin: 0 .5rem;
                    display: block;
                    color: var(--lrd-graphite);
                    text-decoration: none;
                    border-radius: .35rem;
                    white-space: nowrap
                }

                    .sidebar .nav-item .collapse .collapse-inner .collapse-item:hover, .sidebar .nav-item .collapsing .collapse-inner .collapse-item:hover {
                        background-color: #f0f5ec
                    }

                    .sidebar .nav-item .collapse .collapse-inner .collapse-item.active, .sidebar .nav-item .collapsing .collapse-inner .collapse-item.active {
                        color: var(--lrd-green);
                        font-weight: 700
                    }

    .sidebar #sidebarToggle {
        width: 2.5rem;
        height: 2.5rem;
        text-align: center;
        margin-bottom: 1rem;
        cursor: pointer
    }

        .sidebar #sidebarToggle::after {
            font-weight: 900;
            content: '\f104';
            font-family: 'Font Awesome 5 Free';
            margin-right: .1rem
        }

        .sidebar #sidebarToggle:hover {
            text-decoration: none
        }

        .sidebar #sidebarToggle:focus {
            outline: none
        }

    .sidebar.toggled {
        width: 0 !important;
        overflow: hidden
    }

        .sidebar.toggled #sidebarToggle::after {
            content: '\f105';
            font-family: 'Font Awesome 5 Free';
            margin-left: .25rem
        }

    /* Sidebar brand */
    .sidebar .sidebar-brand {
        height: 5rem;
        text-decoration: none;
        font-size: 1rem;
        font-weight: 800;
        padding: .75rem 1rem;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: .05rem;
        z-index: 1;
        border-bottom: 1px solid rgba(90,138,60,.15);
    }

        .sidebar .sidebar-brand .sidebar-brand-icon i {
            font-size: 2rem
        }

        .sidebar .sidebar-brand .sidebar-brand-text {
            display: none
        }

.sidebar-logo-img {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(90,138,60,.3)
}

.sidebar-brand-text {
    font-size: 0.75rem !important;
    font-weight: 800;
    letter-spacing: .04rem;
    line-height: 1.1
}

.sidebar-brand-sub {
    display: block;
    font-size: .6rem;
    font-weight: 400;
    letter-spacing: .15rem;
    text-transform: uppercase
}

.sidebar hr.sidebar-divider {
    margin: 0 1rem 1rem;
    border-top: 1px solid rgba(90,138,60,.15)
}

.sidebar .sidebar-heading {
    text-align: center;
    padding: 0 1rem;
    font-weight: 800;
    font-size: .65rem;
    text-transform: uppercase
}

/* ── Sidebar LIGHT (Lauredal) ── */
.bg-gradient-primary {
    background: linear-gradient(180deg,#f7f9f5 0%,#e8f0e2 100%) !important;
}

.sidebar-light .sidebar-brand {
    color: var(--lrd-green-dark)
}

.sidebar-light hr.sidebar-divider {
    border-top-color: rgba(90,138,60,.15)
}

.sidebar-light .sidebar-heading {
    color: var(--lrd-stone) !important
}

.sidebar-light .nav-item .nav-link {
    color: var(--lrd-graphite) !important
}

    .sidebar-light .nav-item .nav-link i {
        color: var(--lrd-stone) !important;
        transition: color .2s
    }

    .sidebar-light .nav-item .nav-link:hover, .sidebar-light .nav-item .nav-link:focus {
        color: var(--lrd-green-dark) !important;
        background-color: rgba(90,138,60,.08) !important
    }

        .sidebar-light .nav-item .nav-link:hover i {
            color: var(--lrd-green) !important
        }

.sidebar-light .nav-item.active .nav-link {
    color: var(--lrd-green-dark) !important;
    background-color: rgba(90,138,60,.12) !important;
    border-left: 3px solid var(--lrd-green-light);
    font-weight: 700;
}

    .sidebar-light .nav-item.active .nav-link i {
        color: var(--lrd-green) !important
    }

.sidebar-light .nav-item .nav-link[data-toggle="collapse"]::after {
    color: var(--lrd-stone)
}

.sidebar-light #sidebarToggle {
    background-color: rgba(90,138,60,.1)
}

    .sidebar-light #sidebarToggle::after {
        color: var(--lrd-stone)
    }

    .sidebar-light #sidebarToggle:hover {
        background-color: rgba(90,138,60,.18)
    }

/* Alias para compatibilidad con bg-gradient-primary en sidebar */
.sidebar-dark .sidebar-brand {
    color: var(--lrd-green-dark)
}

.sidebar-dark hr.sidebar-divider {
    border-top-color: rgba(90,138,60,.15)
}

.sidebar-dark .sidebar-heading {
    color: var(--lrd-stone) !important
}

.sidebar-dark .nav-item .nav-link {
    color: var(--lrd-graphite) !important
}

    .sidebar-dark .nav-item .nav-link i {
        color: var(--lrd-stone) !important
    }

    .sidebar-dark .nav-item .nav-link:hover {
        color: var(--lrd-green-dark) !important;
        background-color: rgba(90,138,60,.08) !important
    }

        .sidebar-dark .nav-item .nav-link:hover i {
            color: var(--lrd-green) !important
        }

.sidebar-dark .nav-item.active .nav-link {
    color: var(--lrd-green-dark) !important;
    background-color: rgba(90,138,60,.12) !important;
    border-left: 3px solid var(--lrd-green-light);
    font-weight: 700
}

    .sidebar-dark .nav-item.active .nav-link i {
        color: var(--lrd-green) !important
    }

.sidebar-dark #sidebarToggle {
    background-color: rgba(90,138,60,.1)
}

    .sidebar-dark #sidebarToggle::after {
        color: var(--lrd-stone)
    }

    .sidebar-dark #sidebarToggle:hover {
        background-color: rgba(90,138,60,.18)
    }

@media (min-width:768px) {
    .sidebar {
        width: 14rem !important
    }

        .sidebar .nav-item .collapse {
            position: relative;
            left: 0;
            z-index: 1;
            top: 0;
            animation: none
        }

            .sidebar .nav-item .collapse .collapse-inner {
                border-radius: 0;
                box-shadow: none
            }

        .sidebar .nav-item .collapsing {
            display: block;
            transition: height .15s ease
        }

        .sidebar .nav-item .collapse, .sidebar .nav-item .collapsing {
            margin: 0 1rem
        }

        .sidebar .nav-item .nav-link {
            display: block;
            width: 100%;
            text-align: left;
            padding: 1rem;
            width: 14rem
        }

            .sidebar .nav-item .nav-link i {
                font-size: .85rem;
                margin-right: .25rem
            }

            .sidebar .nav-item .nav-link span {
                font-size: .85rem;
                display: inline
            }

            .sidebar .nav-item .nav-link[data-toggle="collapse"]::after {
                width: 1rem;
                text-align: center;
                float: right;
                vertical-align: 0;
                border: 0;
                font-weight: 900;
                content: '\f107';
                font-family: 'Font Awesome 5 Free'
            }

            .sidebar .nav-item .nav-link[data-toggle="collapse"].collapsed::after {
                content: '\f105'
            }

        .sidebar .sidebar-brand .sidebar-brand-icon i {
            font-size: 2rem
        }

        .sidebar .sidebar-brand .sidebar-brand-text {
            display: inline
        }

        .sidebar .sidebar-heading {
            text-align: left
        }

        .sidebar.toggled {
            overflow: visible;
            width: 6.5rem !important
        }

            .sidebar.toggled .nav-item .collapse {
                position: absolute;
                left: calc(6.5rem + 1.5rem / 2);
                z-index: 1;
                top: 2px;
                animation-name: growIn;
                animation-duration: 200ms
            }

                .sidebar.toggled .nav-item .collapse .collapse-inner {
                    box-shadow: 0 .15rem 1.75rem 0 rgba(74,79,68,.12);
                    border-radius: .4rem
                }

            .sidebar.toggled .nav-item .collapsing {
                display: none;
                transition: none
            }

            .sidebar.toggled .nav-item .collapse, .sidebar.toggled .nav-item .collapsing {
                margin: 0
            }

            .sidebar.toggled .nav-item:last-child {
                margin-bottom: 1rem
            }

            .sidebar.toggled .nav-item .nav-link {
                text-align: center;
                padding: .75rem 1rem;
                width: 6.5rem
            }

                .sidebar.toggled .nav-item .nav-link span {
                    font-size: .65rem;
                    display: block
                }

                .sidebar.toggled .nav-item .nav-link i {
                    margin-right: 0
                }

                .sidebar.toggled .nav-item .nav-link[data-toggle="collapse"]::after {
                    display: none
                }

            .sidebar.toggled .sidebar-brand .sidebar-brand-icon i {
                font-size: 2rem
            }

            .sidebar.toggled .sidebar-brand .sidebar-brand-text {
                display: none
            }

            .sidebar.toggled .sidebar-heading {
                text-align: center
            }
}

/* ──────────────────────────────────────────
   TOPBAR
────────────────────────────────────────── */
.topbar {
    height: 4.375rem;
    border-bottom: 2px solid var(--lrd-green-xlight);
    background: #fff
}

    .topbar #sidebarToggleTop {
        height: 2.5rem;
        width: 2.5rem
    }

        .topbar #sidebarToggleTop:hover {
            background-color: #f0f5ec
        }

        .topbar #sidebarToggleTop:active {
            background-color: #e4ebe0
        }

    .topbar .navbar-search {
        width: 25rem
    }

        .topbar .navbar-search input {
            font-size: .85rem;
            height: auto
        }

    .topbar .topbar-divider {
        width: 0;
        border-right: 1px solid #e4ebe0;
        height: calc(4.375rem - 2rem);
        margin: auto 1rem
    }

    .topbar .nav-item .nav-link {
        height: 4.375rem;
        display: flex;
        align-items: center;
        padding: 0 .75rem
    }

        .topbar .nav-item .nav-link:focus {
            outline: none
        }

    .topbar .nav-item:focus {
        outline: none
    }

    .topbar .dropdown {
        position: static
    }

        .topbar .dropdown .dropdown-menu {
            width: calc(100% - 1.5rem);
            right: .75rem
        }

    .topbar .dropdown-list {
        padding: 0;
        border: none;
        overflow: hidden
    }

        .topbar .dropdown-list .dropdown-header {
            background-color: var(--lrd-green);
            border: 1px solid var(--lrd-green);
            padding-top: .75rem;
            padding-bottom: .75rem;
            color: #fff
        }

        .topbar .dropdown-list .dropdown-item {
            white-space: normal;
            padding-top: .5rem;
            padding-bottom: .5rem;
            border-left: 1px solid #e4ebe0;
            border-right: 1px solid #e4ebe0;
            border-bottom: 1px solid #e4ebe0;
            line-height: 1.3rem
        }

            .topbar .dropdown-list .dropdown-item .dropdown-list-image {
                position: relative;
                height: 2.5rem;
                width: 2.5rem
            }

                .topbar .dropdown-list .dropdown-item .dropdown-list-image img {
                    height: 2.5rem;
                    width: 2.5rem
                }

                .topbar .dropdown-list .dropdown-item .dropdown-list-image .status-indicator {
                    background-color: #e8ede4;
                    height: .75rem;
                    width: .75rem;
                    border-radius: 100%;
                    position: absolute;
                    bottom: 0;
                    right: 0;
                    border: .125rem solid #fff
                }

            .topbar .dropdown-list .dropdown-item .text-truncate {
                max-width: 10rem
            }

            .topbar .dropdown-list .dropdown-item:active {
                background-color: #f0f5ec;
                color: var(--lrd-graphite)
            }

@media (min-width:576px) {
    .topbar .dropdown {
        position: relative
    }

        .topbar .dropdown .dropdown-menu {
            width: auto;
            right: 0
        }

    .topbar .dropdown-list {
        width: 20rem !important
    }

        .topbar .dropdown-list .dropdown-item .text-truncate {
            max-width: 13.375rem
        }
}

.topbar-title {
    font-size: .95rem;
    letter-spacing: .02rem
}

.sidebar .nav-item.dropdown .dropdown-toggle::after,
.topbar .nav-item.dropdown .dropdown-toggle::after {
    width: 1rem;
    text-align: center;
    float: right;
    vertical-align: 0;
    border: 0;
    font-weight: 900;
    content: '\f105';
    font-family: 'Font Awesome 5 Free'
}

.sidebar .nav-item.dropdown.show .dropdown-toggle::after,
.topbar .nav-item.dropdown.show .dropdown-toggle::after {
    content: '\f107'
}

.sidebar .nav-item .nav-link .badge-counter,
.topbar .nav-item .nav-link .badge-counter {
    position: absolute;
    transform: scale(.7);
    transform-origin: top right;
    right: .25rem;
    margin-top: -.25rem
}

.sidebar .nav-item .nav-link .img-profile,
.topbar .nav-item .nav-link .img-profile {
    height: 2rem;
    width: 2rem
}

/* ──────────────────────────────────────────
   LOGIN PAGE
────────────────────────────────────────── */
.bg-login-image {
    background: linear-gradient(145deg, #3d6128 0%, #5a8a3c 40%, #7ab648 100%);
    position: relative;
    overflow: hidden;
}

    .bg-login-image::after {
        content: '';
        position: absolute;
        inset: 0;
        background: url('/img/exterior_lauredal.jpg') center/55% no-repeat;
        opacity: .52;
        background-size: cover;
    }

.bg-register-image {
    background: linear-gradient(145deg,#3d6128 0%,#5a8a3c 100%);
    background-position: center;
    background-size: cover
}

.card.o-hidden.shadow-lg {
    border: none;
    border-radius: .5rem;
    overflow: hidden
}

/* ──────────────────────────────────────────
   CHARTS
────────────────────────────────────────── */
.chart-area {
    position: relative;
    height: 10rem;
    width: 100%
}

@media (min-width:768px) {
    .chart-area {
        height: 20rem
    }
}

.chart-bar {
    position: relative;
    height: 10rem;
    width: 100%
}

@media (min-width:768px) {
    .chart-bar {
        height: 20rem
    }
}

.chart-pie {
    position: relative;
    height: 15rem;
    width: 100%
}

@media (min-width:768px) {
    .chart-pie {
        height: calc(20rem - 43px) !important
    }
}

/* ──────────────────────────────────────────
   SCROLL TO TOP
────────────────────────────────────────── */
.scroll-to-top {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    display: none;
    width: 2.75rem;
    height: 2.75rem;
    text-align: center;
    color: #fff;
    background: var(--lrd-green) !important;
    line-height: 46px;
    opacity: .85;
    border-radius: .4rem
}

    .scroll-to-top:focus, .scroll-to-top:hover {
        color: #fff
    }

    .scroll-to-top:hover {
        background: var(--lrd-green-dark) !important;
        opacity: 1
    }

    .scroll-to-top i {
        font-weight: 800
    }

/* ──────────────────────────────────────────
   FOOTER
────────────────────────────────────────── */
footer.sticky-footer {
    padding: 2rem 0;
    flex-shrink: 0;
    border-top: 1px solid #e4ebe0;
    background-color: #f4f7f1 !important
}

    footer.sticky-footer .copyright {
        line-height: 1;
        font-size: .78rem;
        color: var(--lrd-stone)
    }

body.sidebar-toggled footer.sticky-footer {
    width: 100%
}

/* ──────────────────────────────────────────
   PAGE HEADER LAUREDAL
────────────────────────────────────────── */
.page-header-lauredal {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-bottom: .75rem;
    border-bottom: 2px solid var(--lrd-green-xlight);
}
/* mantener alias montevil para compatibilidad con vistas existentes */
.page-header-montevil {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-bottom: .75rem;
    border-bottom: 2px solid var(--lrd-green-xlight);
}

    .page-header-lauredal .page-title,
    .page-header-montevil .page-title {
        font-size: 1.4rem;
        font-weight: 800;
        color: var(--lrd-green-dark);
        margin: 0
    }

    .page-header-lauredal .page-subtitle,
    .page-header-montevil .page-subtitle {
        font-size: .82rem;
        color: var(--lrd-stone);
        margin: 0
    }

/* ──────────────────────────────────────────
   KPI CARDS
────────────────────────────────────────── */
.kpi-number {
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.1;
    color: var(--lrd-graphite)
}

.kpi-icon {
    font-size: 1.8rem;
    opacity: .2
}

/* ──────────────────────────────────────────
   ESTADOS ASISTENCIALES
────────────────────────────────────────── */
.estado-activo {
    color: var(--lrd-green);
    font-weight: 700
}

.estado-hospital {
    color: #e74a3b;
    font-weight: 700
}

.estado-baja {
    color: var(--lrd-stone);
    font-weight: 700
}

.estado-temporal {
    color: #f6c23e;
    font-weight: 700
}

.dependencia-i {
    background-color: #dff0d2;
    color: #2d5a1a;
    border-radius: .35rem;
    padding: .2em .5em;
    font-size: .75rem;
    font-weight: 700;
    display: inline-block
}

.dependencia-ii {
    background-color: #fff3cd;
    color: #856404;
    border-radius: .35rem;
    padding: .2em .5em;
    font-size: .75rem;
    font-weight: 700;
    display: inline-block
}

.dependencia-iii {
    background-color: #f8d7da;
    color: #721c24;
    border-radius: .35rem;
    padding: .2em .5em;
    font-size: .75rem;
    font-weight: 700;
    display: inline-block
}

.dependencia-nd {
    background-color: #e8ede4;
    color: #4a4f44;
    border-radius: .35rem;
    padding: .2em .5em;
    font-size: .75rem;
    font-weight: 700;
    display: inline-block
}

.prioridad-urgente {
    color: #e74a3b;
    font-weight: 800
}

.prioridad-alta {
    color: #e07b00;
    font-weight: 700
}

.prioridad-media {
    color: #b8920a;
    font-weight: 600
}

.prioridad-baja {
    color: var(--lrd-green);
    font-weight: 600
}

/* ──────────────────────────────────────────
   PROGRESS BARS
────────────────────────────────────────── */
.progress-bar-lauredal {
    background-color: var(--lrd-green) !important
}

.progress-bar-lauredal-lime {
    background-color: var(--lrd-green-light) !important
}

/* ──────────────────────────────────────────
   MISC HELPERS
────────────────────────────────────────── */
.rotate-15 {
    transform: rotate(15deg)
}

.rotate-n-15 {
    transform: rotate(-15deg)
}

.img-fluid {
    max-width: 100%;
    height: auto
}

.img-thumbnail {
    padding: .25rem;
    background-color: #fff;
    border: 1px solid #d8e0d0;
    border-radius: .35rem;
    max-width: 100%;
    height: auto
}

.list-unstyled {
    padding-left: 0;
    list-style: none
}

.list-inline {
    padding-left: 0;
    list-style: none
}

.list-inline-item {
    display: inline-block
}

    .list-inline-item:not(:last-child) {
        margin-right: .5rem
    }

.lead {
    font-size: 1.25rem;
    font-weight: 300
}

.text-xs {
    font-size: .7rem
}

.text-lg {
    font-size: 1.2rem
}

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    pointer-events: auto;
    content: "";
    background-color: rgba(0,0,0,0)
}

@media print {
    *, *::before, *::after {
        text-shadow: none !important;
        box-shadow: none !important
    }

    .navbar {
        display: none
    }

    .sidebar {
        display: none
    }

    .badge {
        border: 1px solid #000
    }

    .table {
        border-collapse: collapse !important
    }

        .table td, .table th {
            background-color: #fff !important
        }
}
