/*========= IMPORTANDO HOJAS DE ESTILO =========*/
/* Bootstrap 3.3.7 */
@import url('./bootstrap.min.css');
/* Material design for Bootstrap */
@import url('./bootstrap-material-design.min.css');
@import url('./ripples.min.css');
/* Sweet Alert 2 */
@import url('./sweetalert2.css');
/* Material Design Iconic Font 2.2.0 */
@import url('./material-design-iconic-font.min.css');
/* trumbowyg */
@import url('./trumbowyg.min.css');

/*============ FUENTES ============*/
@font-face {
    font-family: 'RobotoCondensedLight';
    src: url('../fonts/robotocondensed-light.eot');
    src: url('../fonts/robotocondensed-light.eot?#iefix') format('embedded-opentype'),
         url('../fonts/robotocondensed-light.woff2') format('woff2'),
         url('../fonts/robotocondensed-light.woff') format('woff'),
         url('../fonts/robotocondensed-light.ttf') format('truetype'),
         url('../fonts/robotocondensed-light.svg#roboto_condensedlight') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'RobotoCondensed';
    src: url('../fonts/robotocondensed-regular.eot');
    src: url('../fonts/robotocondensed-regular.eot?#iefix') format('embedded-opentype'),
         url('../fonts/robotocondensed-regular.woff2') format('woff2'),
         url('../fonts/robotocondensed-regular.woff') format('woff'),
         url('../fonts/robotocondensed-regular.ttf') format('truetype'),
         url('../fonts/robotocondensed-regular.svg#roboto_condensedregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

/*============ PALETA PROFESIONAL VETERINARIA ============*/
:root{
    --vet-primary: #6D5DF6;          /* morado moderno */
    --vet-primary-dark: #4D3FD3;     /* morado profundo */
    --vet-primary-soft: #EDEBFF;     /* morado pastel claro */
    --vet-secondary: #31C6A8;        /* verde clínico */
    --vet-secondary-soft: #E8FAF6;
    --vet-warning: #F5A524;
    --vet-danger: #EF5350;
    --vet-bg: #F6F7FB;
    --vet-surface: #FFFFFF;
    --vet-border: #E7E9F2;
    --vet-text: #24243A;
    --vet-muted: #7A7D91;
    --vet-sidebar-text: #F8F8FF;
    --vet-sidebar-start: #342B73;
    --vet-sidebar-middle: #6D5DF6;
    --vet-sidebar-end: #4D3FD3;
    --vet-sidebar-active-bg: #F8F5FF;
    --vet-sidebar-icon: #EEE8FF;
    --vet-sidebar-section: #EAE0FF;
    --vet-shadow: 0 12px 32px rgba(39, 39, 68, .10);
    --vet-shadow-sm: 0 6px 18px rgba(39, 39, 68, .08);
    --vet-radius: 18px;
}

/*============ ESTILOS GENERALES ============*/
*{
    box-sizing: border-box;
}

body, html{
    background: var(--vet-bg);
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    font-size: 16px;
    font-family: 'RobotoCondensed', Arial, sans-serif;
    color: var(--vet-text);
    overflow: hidden;
}

body{
    overflow-x: hidden;
}

a{
    color: var(--vet-primary);
}

a:hover,
a:focus{
    color: var(--vet-primary-dark);
    text-decoration: none;
}

.full-box{
    margin: 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
}

.cover{
    background: 50% 50% no-repeat;
    background-size: cover;
}

.text-titles{
    font-family: 'RobotoCondensedLight', Arial, sans-serif;
    color: var(--vet-text);
}

/*============ LOGIN PROFESIONAL ============*/
.containerLogin{
    height: 100%;
    background:
        linear-gradient(135deg, rgba(109,93,246,.88), rgba(49,198,168,.72)),
        url(../assets/img/login-font.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
}

.containerLogin::before{
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 20%, rgba(255,255,255,.25), transparent 30%),
        radial-gradient(circle at 80% 70%, rgba(255,255,255,.18), transparent 28%);
    pointer-events: none;
}

.logInForm{
    position: absolute;
    color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 92%;
    max-width: 380px;
    padding: 30px 28px;
    border-radius: 26px;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.28);
    box-shadow: 0 24px 70px rgba(27, 24, 61, .35);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.logInForm p,
.logInForm label{
    color: #fff;
}

.logInForm .form-control{
    color: #fff;
    border-bottom-color: rgba(255,255,255,.7);
}

.logInForm .form-control::placeholder{
    color: rgba(255,255,255,.8);
}

/*============ PARTES DEL DASHBOARD ============*/
.dashboard-sideBar,
.dashboard-contentPage{
    position: absolute;
    top: 0;
    height: 100%;
    transition: all .3s ease-in-out;
}

/*============ SIDEBAR ============*/
.dashboard-sideBar,
.dashboard-sideBar-ct{
    width: 270px;
}

.dashboard-sideBar{
    left: 0;
    z-index: 2;
    border-right: none;
    overflow: hidden;
    box-shadow: 12px 0 35px rgba(36,36,58,.10);
}

.dashboard-sideBar-ct{
    position: relative;
    height: 100%;
    background:
        linear-gradient(180deg,var(--vet-sidebar-start,var(--vet-primary)) 0%,var(--vet-sidebar-middle,var(--vet-primary)) 52%,var(--vet-sidebar-end,var(--vet-primary-dark)) 100%);
    padding: 0 12px 30px;
    overflow-y: scroll;
    scrollbar-color: rgba(255,255,255,.28) rgba(0,0,0,.08);
    scrollbar-width: thin;
}

.dashboard-sideBar-ct::before{
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.18), transparent 30%),
        radial-gradient(circle at bottom right, rgba(49,198,168,.22), transparent 35%);
    pointer-events: none;
}

.dashboard-sideBar-title,
.dashboard-sideBar-title > i{
    height: 58px;
    line-height: 58px;
    color: #fff;
    font-size: 20px;
}

.dashboard-sideBar-title{
    position: relative;
    z-index: 1;
    font-weight: 600;
    letter-spacing: .2px;
}

.dashboard-sideBar-title > i{
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    width: 40px;
    opacity: .95;
}

.dashboard-sideBar-UserInfo{
    position: relative;
    z-index: 1;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.10);
    color: var(--vet-sidebar-text);
    font-size: 14px;
    padding: 22px 12px;
    border-radius: 24px;
    margin: 8px 0 14px;
    box-shadow: 0 12px 28px rgba(0,0,0,.14);
}

.dashboard-sideBar-UserInfo figure img{
    width: 124px;
    height: 124px;
    border-radius: 30px;
    display: block;
    margin: 0 auto;
    object-fit: cover;
    border: 4px solid rgba(255,255,255,.35);
    background: rgba(255,255,255,.15);
}

.dashboard-sideBar-UserInfo ul{
    margin-top: 15px;
}

.dashboard-sideBar-UserInfo ul > li,
.dashboard-sideBar-UserInfo ul > li > a{
    display: inline-block;
    color: #fff;
}

.dashboard-sideBar-UserInfo ul > li > a{
    outline: none;
    font-size: 20px;
    padding: 7px 9px;
    border-radius: 12px;
    transition: all .25s ease-in-out;
}

.dashboard-sideBar-UserInfo ul > li > a:hover{
    color: #fff;
    background: rgba(49,198,168,.26);
    transform: translateY(-2px);
}

.dashboard-sideBar-Menu{
    position: relative;
    z-index: 1;
    padding-top: 8px;
}

.dashboard-sideBar-Menu > li,
.dashboard-sideBar-Menu > li > a,
.dashboard-sideBar-Menu > li > ul > li,
.dashboard-sideBar-Menu > li > ul > li > a{
    line-height: 48px;
    font-family: "RobotoCondensedLight", Arial, sans-serif;
    display: block;
    color: rgba(255,255,255,.92);
    text-decoration: none;
    border-radius: 15px;
    transition: all .25s ease-in-out;
    position: relative;
}

.dashboard-sideBar-Menu > li{
    margin-bottom: 4px;
}

.dashboard-sideBar-Menu > li > a > i{
    margin-right: 8px;
    width: 22px;
    text-align: center;
}

.dashboard-sideBar-Menu > li > a > i.zmdi-caret-down{
    line-height: 48px;
    transition: all .25s ease-in-out;
}

.dashboard-sideBar-Menu > li > a{
    padding: 0 15px;
    box-sizing: border-box;
    height: 48px;
    outline: none;
}

.dashboard-sideBar-Menu > li > a:hover,
.dashboard-sideBar-Menu > li > a:focus{
    background: rgba(255,255,255,.14);
    color: #fff;
    transform: translateX(3px);
}

.dashboard-sideBar-Menu > li > a:hover::before{
    content: "";
    position: absolute;
    left: 6px;
    top: 13px;
    width: 4px;
    height: 22px;
    background: var(--vet-secondary);
    border-radius: 10px;
}

.dashboard-sideBar-Menu > li > ul{
    position: relative;
    padding-top: 6px;
    height: 0;
    overflow: hidden;
}

.show-sideBar-SubMenu{
    height: auto !important;
    overflow: auto !important;
}

.dashboard-sideBar-Menu > li > ul > li,
.dashboard-sideBar-Menu > li > ul > li > a{
    height: 39px;
    line-height: 39px;
    border-radius: 12px;
}

.dashboard-sideBar-Menu > li > ul > li{
    padding-left: 22px;
}

.dashboard-sideBar-Menu > li > ul > li > a{
    border-left: 3px solid transparent;
    outline: none;
    padding-left: 12px;
    color: rgba(255,255,255,.82);
    background: rgba(255,255,255,.05);
}

.dashboard-sideBar-Menu > li > ul > li > a:hover{
    border-left: 3px solid var(--vet-secondary);
    background: rgba(255,255,255,.12);
    color: #fff;
}

/*============ CONTENT PAGE ============*/
.dashboard-contentPage{
    right: 0;
    z-index: 1;
    padding-left: 270px;
    overflow-y: scroll;
    scrollbar-color: rgba(109,93,246,.35) #fff;
    scrollbar-width: thin;
    background:
        radial-gradient(circle at top right, rgba(109,93,246,.09), transparent 25%),
        var(--vet-bg);
}

/*============ NAVBAR ============*/
.dashboard-Navbar,
.dashboard-Navbar > ul,
.dashboard-Navbar > ul >li,
.dashboard-Navbar > ul > li > a{
    height: 58px;
    line-height: 58px;
}

.dashboard-Navbar > ul > li > a{
    outline: none;
}

.dashboard-Navbar{
    background: rgba(255,255,255,.88);
    border-bottom: 1px solid var(--vet-border);
    box-shadow: 0 8px 24px rgba(39,39,68,.06);
    overflow: hidden;
    padding-right: 12px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.dashboard-Navbar > ul >li,
.dashboard-Navbar > ul > li > a{
    display: inline-block;
    width: 54px;
    text-align: center;
    color: var(--vet-primary-dark);
    margin: 0;
    padding: 0;
    font-size: 21px;
    transition: all .25s ease-in-out;
    position: relative;
    border-radius: 14px;
}

.dashboard-Navbar > ul > li > a:hover{
    background-color: var(--vet-primary-soft);
    color: var(--vet-primary-dark);
}

/*============ HOME / DASHBOARD TILES ============*/
.tile{
    max-width: 310px;
    height: 185px;
    background: var(--vet-surface);
    color: var(--vet-primary);
    position: relative;
    display: inline-block;
    box-shadow: var(--vet-shadow-sm);
    overflow: hidden;
    cursor: pointer;
    margin: 12px;
    border-radius: 24px;
    border: 1px solid var(--vet-border);
    transition: all .25s ease;
}

.tile::after{
    content: "";
    position: absolute;
    width: 155px;
    height: 155px;
    right: -45px;
    bottom: -55px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(109,93,246,.12), rgba(49,198,168,.14));
}

.tile:hover{
    transform: translateY(-6px);
    box-shadow: var(--vet-shadow);
}

.tile:hover > .tile-icon > i,
.tile:hover > .tile-number{
    color: var(--vet-primary-dark);
}

.tile-title,
.tile-icon,
.tile-number{
    position: absolute;
}

.tile-title{
    height: 48px;
    line-height: 48px;
    font-size: 19px;
    background: linear-gradient(135deg, var(--vet-primary), var(--vet-primary-dark));
    color: #fff;
    top: 0;
    left: 0;
    border-radius: 0 0 22px 0;
    padding: 0 16px;
    z-index: 1;
}

.tile-icon,
.tile-number{
    bottom: 0;
    height: 137px;
    width: 150px;
    z-index: 1;
}

.tile-icon{
    left: 0;
}

.tile-icon > i{
    line-height: 137px;
    font-size: 108px;
}

.tile-icon > i,
.tile-number{
    color: rgba(109,93,246,.34);
    transition: all .25s ease-in-out;
}

.tile-number{
    right: 0;
    user-select: none;
    text-align: center;
}

.tile-number > p{
    font-size: 66px;
    margin-bottom: 0;
    color: var(--vet-text);
}

.tile-number > small{
    font-size: 16px;
    color: var(--vet-muted);
}

/*============ TIMELINE ============*/
.cd-container {
    width: 90%;
    max-width: 1170px;
    margin: 0 auto;
}
.cd-container::after {
    content: '';
    display: table;
    clear: both;
}
#cd-timeline {
    position: relative;
    padding: 2em 0;
    margin-top: 2em;
    margin-bottom: 2em;
}
#cd-timeline::before {
    content: '';
    position: absolute;
    top: 0;
    left: 18px;
    height: 100%;
    width: 4px;
    background: var(--vet-primary-soft);
    border-radius: 8px;
}
.cd-timeline-block {
    position: relative;
    margin: 2em 0;
}
.cd-timeline-block::after {
    content: "";
    display: table;
    clear: both;
}
.cd-timeline-block:first-child {
    margin-top: 0;
}
.cd-timeline-block:last-child {
    margin-bottom: 0;
}
.cd-timeline-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(109,93,246,.10);
    background: var(--vet-primary);
}
.cd-timeline-img img {
    display: block;
    width: 40px;
    height: 40px;
    position: relative;
    border-radius: 50%;
}
.cd-timeline-content {
    position: relative;
    margin-left: 60px;
    border-radius: 18px;
    padding: 1em;
    background: linear-gradient(135deg, var(--vet-primary), var(--vet-primary-dark));
    color: #fff;
    box-shadow: var(--vet-shadow-sm);
}
.cd-timeline-content::after {
    content: "";
    display: table;
    clear: both;
}
.cd-timeline-content .cd-date {
    display: inline-block;
}
.cd-timeline-content p {
    margin: 1em 0;
    line-height: 1.6;
}
.cd-timeline-content .cd-date {
    float: left;
    padding: .8em 0;
}
.cd-timeline-content::before {
    content: '';
    position: absolute;
    top: 16px;
    right: 100%;
    height: 0;
    width: 0;
    border: 7px solid transparent;
    border-right: 7px solid var(--vet-primary);
}

/*============ CARDS MODERNAS ============*/
.card {
    height: 100%;
    border-radius: 24px;
    border: 1px solid var(--vet-border);
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    overflow: hidden;
    background: var(--vet-surface);
    box-shadow: var(--vet-shadow-sm);
}

.card:hover {
    transform: translateY(-6px);
    box-shadow: var(--vet-shadow);
    border-color: rgba(109,93,246,.22);
}

.card-img-top {
    width: 100%;
    height: 205px;
    object-fit: cover;
    display: block;
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
}

.card-body {
    flex-grow: 1;
    padding: 1.2rem;
}

.card-title {
    font-size: 1.25rem;
    color: var(--vet-text);
    font-weight: 600;
}

.card-text {
    font-size: .98rem;
    color: var(--vet-muted);
}

.card-footer {
    background: #fbfbff;
    border-top: 1px solid var(--vet-border);
    padding: .9rem;
    text-align: center;
}

.card-footer .btn {
    border-radius: 999px;
    padding: 8px 22px;
}

.card-click {
    cursor: pointer;
    transition: transform .2s, box-shadow .2s;
}
.card-click:hover {
    transform: translateY(-4px) scale(1.005);
}

/*============ CONTENEDORES ============*/
.container-custom {
    width: 100%;
    padding-left: 8%;
    padding-right: 8%;
    box-sizing: border-box;
    overflow-x: hidden;
}

/*============ PANELES ============*/
.panel {
    border: 1px solid var(--vet-border);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: var(--vet-shadow-sm);
    background: var(--vet-surface);
}

.panel-heading {
    background: linear-gradient(135deg, var(--vet-primary), var(--vet-primary-dark));
    color: white;
    border-radius: 22px 22px 0 0;
    border: none;
    padding: 14px 18px;
}

.panel-title{
    color: #fff;
}

.panel-body{
    background: var(--vet-surface);
}

.list-group-item {
    font-size: 16px;
    border-color: var(--vet-border);
}

/*============ BOTONES ============*/
.btn{
    border-radius: 999px !important;
    box-shadow: none !important;
    text-transform: none;
    transition: all .2s ease;
}

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

.btn-primary,
.btn-info{
    background: var(--vet-primary) !important;
    border-color: var(--vet-primary) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-info:hover{
    background: var(--vet-primary-dark) !important;
    border-color: var(--vet-primary-dark) !important;
}

.btn-success{
    background: var(--vet-secondary) !important;
    border-color: var(--vet-secondary) !important;
    color: #fff !important;
}

.btn-success:hover{
    background: #25A98F !important;
    border-color: #25A98F !important;
}

.btn-warning{
    background: var(--vet-warning) !important;
    border-color: var(--vet-warning) !important;
    color: #fff !important;
}

.btn-danger{
    background: var(--vet-danger) !important;
    border-color: var(--vet-danger) !important;
    color: #fff !important;
}

/*============ FORMULARIOS ============*/
.form-control{
    border-radius: 12px;
    border-color: var(--vet-border);
    box-shadow: none;
}

.form-control:focus{
    border-color: var(--vet-primary);
    box-shadow: 0 0 0 3px rgba(109,93,246,.13);
}

label{
    color: var(--vet-text);
    font-weight: 500;
}

select.form-control,
input.form-control,
textarea.form-control{
    background-color: #fff;
}

/*============ TABLAS Y DATATABLES ============*/
.table{
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
}

.table > thead > tr > th{
    background: #F0EFFF;
    color: var(--vet-text);
    border-bottom: 1px solid var(--vet-border);
    font-weight: 600;
}

.table > tbody > tr:hover{
    background: #FBFAFF;
}

.dt-buttons .btn {
    border-radius: 999px !important;
    padding: 8px 14px;
    margin-left: 5px;
    font-size: 15px;
    box-shadow: var(--vet-shadow-sm) !important;
    transition: all .25s ease;
}

.dt-buttons .btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--vet-shadow) !important;
}

.dt-buttons .btn-success {
    background: var(--vet-secondary) !important;
    border: none;
    color: white;
}

.dt-buttons .btn-info {
    background: var(--vet-primary) !important;
    border: none;
    color: white;
}

/*============ ACTIVIDADES / ESTADOS ============*/
.activity-label {
    font-weight: 500;
    color: var(--vet-text);
    transition: all .25s ease;
}

.activity-label.completed::before {
    content: "✔";
    color: var(--vet-secondary);
    margin-right: 8px;
}

.activity-label::before {
    content: "•";
    color: var(--vet-muted);
    margin-right: 8px;
}

.complete-btn {
    color: var(--vet-primary);
    font-weight: 600;
    text-decoration: none;
}

.complete-btn:hover {
    color: var(--vet-primary-dark);
    text-decoration: underline;
}

/*============ VALIDACIONES ============*/
.question-group {
    padding: 12px;
    border-left: 4px solid transparent;
    transition: all .25s ease;
    border-radius: 12px;
}

.question-group.has-error {
    border-color: var(--vet-danger);
    background-color: #FFF5F5;
}

#contenedor-encuesta {
    margin-top: 20px;
    padding: 18px;
    background-color: #fff;
    border-radius: 18px;
    border: 1px solid var(--vet-border);
    box-shadow: var(--vet-shadow-sm);
}

/*============ VIDEO RESPONSIVE ============*/
.videoWrapper {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    height: 0;
    width: 90%;
    display: block;
    margin: 0 auto;
}
.videoWrapper iframe,
.videoWrapper object,
.videoWrapper embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

canvas {
    margin-bottom: 40px;
}

/*============ SWEETALERT / MODALES ============*/
.swal2-popup{
    border-radius: 24px !important;
}

.modal-content{
    border-radius: 22px;
    border: none;
    box-shadow: var(--vet-shadow);
}

.modal-header{
    background: linear-gradient(135deg, var(--vet-primary), var(--vet-primary-dark));
    color: #fff;
    border-radius: 22px 22px 0 0;
}

/*============ RESPONSIVE ============*/
@media (max-width: 767px){
    .dashboard-sideBar{
        width: 100%;
        z-index: 99;
        background-image: none;
        background-color: transparent;
        border-right: none;
        opacity: 0;
        pointer-events: none;
        overflow: hidden;
    }
    .dashboard-sideBar-ct,
    .dashboard-sideBar-bg{
        position: absolute;
        top: 0;
        left: 0;
    }
    .dashboard-sideBar-ct{
        border-right: 1px solid rgba(255, 255, 255, .3);
        z-index: 3;
        max-width: 270px;
        width: 100%;
        transition: all .3s ease-in-out;
        transform: translateX(-270px);
    }
    .dashboard-sideBar-bg{
        height: 100%;
        background-color: rgba(0, 0, 0, .58);
        z-index: 2;
    }
    .dashboard-contentPage{
        padding-left: 0;
    }
    .show-sidebar{
        pointer-events: auto !important;
        opacity: 1 !important;
    }
    .show-sidebar > .dashboard-sideBar-ct{
        transform: translateX(0) !important;
    }
    .container-custom{
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (min-width: 768px) and (max-width: 991px){
    .hide-sidebar{
        pointer-events: none;
        opacity: 0;
        border-right: none;
        transform: translateX(-270px);
    }
    .no-paddin-left{
        padding-left: 0;
    }
}

@media (min-width: 992px) and (max-width: 1199px){
    .hide-sidebar{
        pointer-events: none;
        opacity: 0;
        border-right: none;
        transform: translateX(-270px);
    }
    .no-paddin-left{
        padding-left: 0;
    }
}

@media (min-width: 1200px){
    .hide-sidebar{
        pointer-events: none;
        opacity: 0;
        border-right: none;
        transform: translateX(-270px);
    }
    .no-paddin-left{
        padding-left: 0;
    }

    #cd-timeline {
        margin-top: 3em;
        margin-bottom: 3em;
    }
    #cd-timeline::before {
        left: 50%;
        margin-left: -2px;
    }
    .cd-timeline-block {
        margin: 4em 0;
    }
    .cd-timeline-block:first-child {
        margin-top: 0;
    }
    .cd-timeline-block:last-child {
        margin-bottom: 0;
    }
    .cd-timeline-img {
        width: 60px;
        height: 60px;
        left: 50%;
        margin-left: -30px;
        transform: translateZ(0);
        backface-visibility: hidden;
    }
    .cd-timeline-img img{
        width: 60px;
        height: 60px;
    }
    .cd-timeline-content .cd-date {
        color: var(--vet-primary-dark);
    }
    .cd-timeline-content {
        margin-left: 0;
        width: 45%;
    }
    .cd-timeline-content::before {
        top: 24px;
        left: 100%;
        border-color: transparent;
        border-left-color: var(--vet-primary);
    }
    .cd-timeline-content .cd-date {
        position: absolute;
        width: 100%;
        left: 122%;
        top: 6px;
        font-size: 16px;
        font-size: 1rem;
    }
    .cd-timeline-block:nth-child(even) .cd-timeline-content {
        float: right;
    }
    .cd-timeline-block:nth-child(even) .cd-timeline-content::before {
        top: 24px;
        left: auto;
        right: 100%;
        border-color: transparent;
        border-right-color: var(--vet-primary);
    }
    .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-date {
        left: auto;
        right: 122%;
        text-align: right;
    }
    
}
.form-group.is-focused .form-control{
    background-image: linear-gradient(to top, #fff 2px, transparent 2px) !important;
}

.form-group.is-focused label{
    color: #fff !important;
}

/* =========================================================
   AJUSTE FINAL VETERINARIA - diseño responsive y panel moderno
   ========================================================= */
:root{
    --vet-primary:#6D5DF6;
    --vet-primary-dark:#4D3FD3;
    --vet-primary-soft:#EDEBFF;
    --vet-secondary:#31C6A8;
    --vet-secondary-soft:#E8FAF6;
    --vet-warning:#F5A524;
    --vet-danger:#EF5350;
    --vet-bg:#F6F7FB;
    --vet-surface:#FFFFFF;
    --vet-border:#E7E9F2;
    --vet-text:#24243A;
    --vet-muted:#7A7D91;
    --vet-shadow:0 14px 32px rgba(39,39,68,.10);
    --vet-shadow-sm:0 6px 18px rgba(39,39,68,.08);
    --vet-radius:18px;
}

body{
    background:
        radial-gradient(circle at 85% 0%, rgba(109,93,246,.12), transparent 28%),
        linear-gradient(135deg,#F8F9FF 0%,#F3F8F7 100%) !important;
    color:var(--vet-text) !important;
}

.dashboard-sideBar,
.dashboard-sideBar-ct{ width:300px !important; }
.dashboard-contentPage{
    padding-left:300px !important;
    background:transparent !important;
}
.dashboard-contentPage.no-paddin-left{ padding-left:0 !important; }
.dashboard-sideBar.hide-sidebar{ transform:translateX(-105%); pointer-events:none; }
.dashboard-sideBar.show-sidebar{ transform:translateX(0); }

.dashboard-sideBar{
    box-shadow:12px 0 34px rgba(55,55,95,.14) !important;
    z-index:20 !important;
    transition:transform .25s ease !important;
}
.dashboard-sideBar-bg{ background:rgba(14,20,40,.48) !important; }
.dashboard-sideBar-ct{
    padding:0 22px 22px !important;
    overflow-y:auto !important;
    background:
        radial-gradient(circle at 15% 0%, rgba(255,255,255,.22), transparent 30%),
        linear-gradient(180deg,var(--vet-sidebar-start,var(--vet-primary)) 0%,var(--vet-sidebar-middle,var(--vet-primary)) 52%,var(--vet-sidebar-end,var(--vet-primary-dark)) 100%) !important;
    border-right:1px solid rgba(255,255,255,.18);
}
.vet-sidebar-brand{
    min-height:145px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    z-index:2;
}
.vet-sidebar-logo{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    padding-top:8px;
}
.vet-sidebar-logo img{
    max-width:168px;
    max-height:110px;
    width:auto;
    height:auto;
    object-fit:contain;
    filter:drop-shadow(0 8px 16px rgba(0,0,0,.12));
}
.vet-sidebar-close{
    position:absolute;
    top:16px;
    right:2px;
    border:0;
    background:rgba(255,255,255,.14);
    color:#fff;
    width:38px;
    height:38px;
    border-radius:12px;
}
.vet-menu{ position:relative; z-index:2; padding-top:4px !important; }
.vet-menu > li{ margin:0 0 5px !important; }
.vet-menu > li > a{
    min-height:44px;
    display:flex !important;
    align-items:center;
    gap:12px;
    padding:11px 13px !important;
    border-radius:14px;
    color:rgba(255,255,255,.88) !important;
    font-size:15px;
    font-weight:500;
    transition:.18s ease;
    border:1px solid transparent;
}
.vet-menu > li > a i{
    width:28px;
    min-width:28px;
    height:28px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:rgba(255,255,255,.13);
    font-size:17px;
}
.vet-menu > li > a:hover,
.vet-menu > li > a:focus,
.vet-menu > li > a.active{
    background:rgba(255,255,255,.18) !important;
    border-color:rgba(255,255,255,.22);
    color:#fff !important;
    transform:translateX(3px);
}
.vet-menu-section{
    margin:16px 0 7px !important;
    padding:0 11px !important;
    color:#D8FFF6 !important;
    font-size:11px;
    font-weight:700;
    letter-spacing:.12em;
    opacity:.95;
}
.vet-sidebar-help{
    margin-top:22px;
    padding:14px;
    border-radius:18px;
    display:flex;
    gap:12px;
    align-items:center;
    color:#fff;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.16);
    position:relative;
    z-index:2;
}
.vet-sidebar-help i{ font-size:30px; color:#fff; }
.vet-sidebar-help small{ display:block; color:rgba(255,255,255,.78); }
.vet-sidebar-help strong{ color:#D8FFF6; font-weight:700; }

.dashboard-Navbar.vet-navbar{
    height:72px !important;
    padding:0 26px !important;
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    background:rgba(255,255,255,.92) !important;
    border-bottom:1px solid var(--vet-border);
    box-shadow:0 10px 28px rgba(39,39,68,.08);
    backdrop-filter:blur(14px);
    z-index:15 !important;
}
.vet-navbar-left,.vet-navbar-right{ display:flex; align-items:center; gap:15px; }
.vet-nav-toggle{
    width:44px;
    height:44px;
    border-radius:14px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    color:#fff !important;
    background:linear-gradient(135deg,var(--vet-primary),var(--vet-secondary)) !important;
    font-size:23px;
    box-shadow:var(--vet-shadow-sm);
}
.vet-nav-title{
    color:var(--vet-text);
    font-size:21px;
    font-weight:700;
}
.vet-navbar-brand img{
    max-height:54px;
    width:auto;
    object-fit:contain;
}
.vet-date-pill{
    height:42px;
    padding:0 15px;
    border-radius:999px;
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--vet-primary-dark);
    background:var(--vet-primary-soft);
    font-weight:600;
}
.vet-user-divider{ width:1px; height:34px; background:var(--vet-border); }
.vet-logout-form{ display:none; }

.pet-user-menu{ position:relative; }
.pet-user-trigger{
    border:1px solid var(--vet-border);
    background:#fff;
    min-height:46px;
    border-radius:999px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:6px 12px 6px 7px;
    box-shadow:var(--vet-shadow-sm);
    color:var(--vet-text);
}
.pet-user-avatar{
    width:34px;
    height:34px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:linear-gradient(135deg,var(--vet-primary),var(--vet-secondary));
}
.pet-user-info{text-align:left;line-height:1.1;max-width:160px;}
.pet-user-info strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pet-user-info small{display:block;font-size:11px;color:var(--vet-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pet-user-chevron{ color:var(--vet-muted); }
.pet-user-dropdown{
    display:none;
    position:absolute;
    right:0;
    top:calc(100% + 10px);
    width:230px;
    background:#fff;
    border:1px solid var(--vet-border);
    box-shadow:var(--vet-shadow);
    border-radius:18px;
    overflow:hidden;
    z-index:9999;
}
.pet-user-menu.open .pet-user-dropdown{ display:block; }
.pet-user-option{display:flex;gap:10px;align-items:center;padding:13px 15px;color:var(--vet-text)!important;text-decoration:none!important;}
.pet-user-option:hover{background:var(--vet-primary-soft);color:var(--vet-primary-dark)!important;}

.noti-wrap{ position:relative !important; display:flex !important; align-items:center; justify-content:center; }
#btn-notificaciones.noti-btn{
    width:44px !important;
    height:44px !important;
    border-radius:15px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:var(--vet-primary-dark) !important;
    background:var(--vet-primary-soft) !important;
    position:relative !important;
    text-decoration:none !important;
}
#btn-notificaciones .noti-icon{ font-size:23px !important; color:var(--vet-primary-dark) !important; }
#noti-badge.noti-badge{
    position:absolute !important;
    top:-5px !important;
    right:-5px !important;
    min-width:20px !important;
    height:20px !important;
    padding:0 5px !important;
    border-radius:999px !important;
    background:var(--vet-danger) !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:20px !important;
    text-align:center !important;
    box-shadow:0 0 0 2px #fff !important;
    z-index:10 !important;
}
#menu-notificaciones.noti-menu{
    display:none;
    position:fixed !important;
    top:64px;
    right:18px;
    width:390px;
    max-height:520px;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 16px 40px rgba(39,39,68,.20);
    border:1px solid var(--vet-border);
    z-index:2147483000 !important;
    text-align:left !important;
}
#menu-notificaciones.noti-menu.noti-open{ display:block !important; }
.noti-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--vet-border);background:#fff;}
.noti-header span{font-size:18px;font-weight:700;color:var(--vet-text);}
.noti-header-link,.noti-footer a{font-size:13px;font-weight:700;color:var(--vet-primary)!important;text-decoration:none!important;}
.noti-body{max-height:410px;overflow-y:auto;background:#fff;}
.noti-item{padding:12px 14px;border-bottom:1px solid #f3f4f8;transition:background .18s ease;}
.noti-item:hover{background:#f6f7fb;}.noti-unread{background:#F0F7FF;}
.noti-avatar{width:42px;height:42px;min-width:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--vet-primary),var(--vet-secondary));}
.noti-content{min-width:0;}.noti-title{font-weight:700;color:var(--vet-text);}.noti-text{color:var(--vet-muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;}.noti-time{color:var(--vet-primary);font-size:11px;font-weight:600;margin-top:5px;}.noti-dot{width:10px;height:10px;border-radius:50%;background:var(--vet-secondary);align-self:center;}.noti-empty{text-align:center;color:var(--vet-muted);padding:26px 16px;}.noti-empty i{font-size:36px;display:block;margin-bottom:7px;}.noti-footer{text-align:center;padding:12px;background:#fafbfe;border-top:1px solid var(--vet-border);}

/* Dashboard veterinario */
.vet-dashboard{padding:24px 28px 36px;}
.vet-dashboard-welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;background:linear-gradient(135deg,var(--vet-primary),var(--vet-secondary));border-radius:26px;padding:24px 26px;color:#fff;box-shadow:var(--vet-shadow);}
.vet-dashboard-welcome h1{font-size:30px;margin:0 0 6px;font-weight:800;}.vet-dashboard-welcome p{margin:0;opacity:.92;font-size:16px;}.vet-dashboard-date-pill{height:44px;border-radius:999px;padding:0 16px;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.16);font-weight:700;}
.vet-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:18px;margin-bottom:24px;}.vet-kpi-card{background:#fff;border:1px solid var(--vet-border);border-radius:22px;padding:20px;display:flex;justify-content:space-between;align-items:flex-start;color:var(--vet-text)!important;text-decoration:none!important;box-shadow:var(--vet-shadow-sm);transition:.2s ease;min-height:125px;}.vet-kpi-card:hover{transform:translateY(-4px);box-shadow:var(--vet-shadow);}.vet-kpi-info span{display:block;color:var(--vet-muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}.vet-kpi-info strong{display:block;font-size:30px;margin:10px 0 6px;color:var(--vet-text);}.vet-kpi-info small{color:var(--vet-muted);}.vet-kpi-icon{width:54px;height:54px;border-radius:18px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--vet-primary),var(--vet-secondary));font-size:24px;}
.vet-section-title{display:flex;align-items:center;gap:12px;margin:24px 0 14px;}.vet-section-title span{width:9px;height:28px;border-radius:999px;background:var(--vet-secondary);}.vet-section-title h2{font-size:18px;font-weight:800;color:var(--vet-text);margin:0;letter-spacing:.04em;}.vet-section-title div{height:1px;flex:1;background:var(--vet-border);}
.vet-quick-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:14px;margin-bottom:24px;}.vet-quick-card{background:#fff;border:1px solid var(--vet-border);border-radius:20px;padding:18px 14px;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;color:var(--vet-text)!important;text-decoration:none!important;box-shadow:var(--vet-shadow-sm);transition:.2s ease;}.vet-quick-card:hover{transform:translateY(-4px);box-shadow:var(--vet-shadow);border-color:rgba(109,93,246,.3);}.vet-quick-card>i{font-size:30px;color:var(--vet-primary);}.vet-quick-card strong{font-size:14px;}.vet-dashboard-lower{display:grid;grid-template-columns:1.45fr .9fr;gap:18px;}.vet-panel{background:#fff;border:1px solid var(--vet-border);border-radius:24px;box-shadow:var(--vet-shadow-sm);padding:20px;}.vet-panel-title{display:flex;align-items:center;gap:10px;margin-bottom:14px;}.vet-panel-title span{width:8px;height:24px;border-radius:99px;background:var(--vet-primary);}.vet-panel-title h3{margin:0;font-size:17px;font-weight:800;color:var(--vet-text);}.vet-table-responsive{overflow-x:auto;}.vet-table{width:100%;border-collapse:collapse;}.vet-table thead th{text-transform:uppercase;font-size:12px;color:var(--vet-primary);font-weight:800;padding:12px 10px;border-bottom:1px solid var(--vet-border);}.vet-table tbody td{padding:13px 10px;border-bottom:1px solid #f0f1f7;color:var(--vet-text);vertical-align:middle;}.vet-table small{color:var(--vet-muted);}.vet-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;}.vet-status.ok{color:#209D77;background:rgba(49,198,168,.14);}.vet-status.progress{color:#B77705;background:rgba(245,165,36,.16);}.vet-status.danger{color:#C63F3D;background:rgba(239,83,80,.13);}.vet-outline-btn{display:inline-flex;margin-top:14px;border:1px solid var(--vet-primary);color:var(--vet-primary)!important;border-radius:999px;padding:9px 14px;font-weight:800;text-decoration:none!important;}.vet-outline-btn:hover{background:var(--vet-primary-soft);}.vet-best-list{display:grid;gap:12px;}.vet-best-item{display:grid;grid-template-columns:24px 1fr 74px 34px;gap:9px;align-items:center;}.vet-best-item span,.vet-best-item b{color:var(--vet-muted);font-weight:700;}.vet-best-item strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--vet-text);}.vet-best-item div{height:7px;border-radius:8px;background:#eff1f7;overflow:hidden;}.vet-best-item em{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--vet-primary),var(--vet-secondary));}.vet-empty-row,.vet-empty-box{color:var(--vet-muted);text-align:center;padding:22px;}

@media (max-width:1199px){.vet-kpi-grid{grid-template-columns:repeat(2,minmax(180px,1fr));}.vet-quick-grid{grid-template-columns:repeat(3,minmax(120px,1fr));}.vet-dashboard-lower{grid-template-columns:1fr;}.vet-navbar-brand{display:none;}}
@media (max-width:767px){.dashboard-sideBar,.dashboard-sideBar-ct{width:280px!important;}.dashboard-contentPage,.dashboard-contentPage.no-paddin-left{padding-left:0!important;}.dashboard-Navbar.vet-navbar{height:66px!important;padding:0 14px!important;}.vet-nav-title{font-size:17px;}.vet-dashboard{padding:16px 12px 28px;}.vet-dashboard-welcome{display:block;padding:20px;}.vet-kpi-grid,.vet-quick-grid{grid-template-columns:1fr;}.pet-user-menu{display:none!important;}#menu-notificaciones.noti-menu{right:10px!important;left:10px!important;width:auto!important;}.noti-text{max-width:190px;}}

/* Fix: permitir que el menú de usuario salga por debajo del navbar */
.dashboard-Navbar.vet-navbar{ overflow:visible !important; }
.pet-user-menu.open .pet-user-dropdown,
.pet-user-menu.is-open .pet-user-dropdown{ display:block !important; }
