/* =========================================================
   TEMA CLÍNICA VETERINARIA - identidad visual propia
   Diseño cálido, clínico y propio para veterinaria.
   ========================================================= */
:root{
    --vet-primary:#177A72;
    --vet-primary-dark:#0F514C;
    --vet-primary-soft:#DFF5EE;
    --vet-secondary:#F29F63;
    --vet-secondary-soft:#FFF2E6;
    --vet-warning:#E6A23C;
    --vet-danger:#D95D55;
    --vet-bg:#F7FBF8;
    --vet-surface:#FFFFFF;
    --vet-border:#DDEDE8;
    --vet-text:#203A37;
    --vet-muted:#6C8480;
    --vet-sidebar-text:#F7FFFC;
    --vet-sidebar-start:#115E59;
    --vet-sidebar-middle:#177A72;
    --vet-sidebar-end:#0E4C47;
    --vet-sidebar-active-bg:#FFF9EF;
    --vet-sidebar-icon:#FFF4E8;
    --vet-sidebar-section:#FFE6C8;
    --vet-shadow:0 18px 45px rgba(26,85,78,.13);
    --vet-shadow-sm:0 8px 22px rgba(26,85,78,.09);
    --vet-radius:22px;
    --pet-cream:#FFF9EF;
    --pet-mint:#EAF8F2;
    --pet-coral:#FF7F6B;
    --pet-ink:#183D3A;
}

html, body{
    background:
        radial-gradient(circle at 84% -5%, rgba(242,159,99,.16), transparent 28%),
        radial-gradient(circle at 0% 8%, rgba(23,122,114,.10), transparent 30%),
        linear-gradient(135deg,#F9FCF8 0%,#EEF8F5 100%) !important;
    color:var(--vet-text) !important;
}

/* ================= LOGIN ÚNICO ================= */
.containerLogin.pet-login-page{
    min-height:100dvh;
    height:100%;
    background:
        radial-gradient(circle at 12% 12%, rgba(255,255,255,.70), transparent 23%),
        radial-gradient(circle at 85% 88%, rgba(242,159,99,.22), transparent 28%),
        linear-gradient(135deg,#DFF5EE 0%,#FFF8ED 44%,#F7FBF8 100%) !important;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:26px;
    overflow:hidden;
    position:relative;
}
.containerLogin.pet-login-page::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        radial-gradient(circle, rgba(23,122,114,.12) 0 3px, transparent 4px),
        radial-gradient(circle, rgba(242,159,99,.12) 0 2px, transparent 3px);
    background-size:72px 72px, 118px 118px;
    background-position:0 0, 34px 28px;
    opacity:.55;
    pointer-events:none;
}
.pet-login-bg-shape{
    position:absolute;
    border-radius:999px;
    filter:blur(.2px);
    opacity:.65;
}
.pet-login-bg-shape-one{
    width:360px;
    height:360px;
    background:rgba(23,122,114,.14);
    top:-105px;
    left:-95px;
}
.pet-login-bg-shape-two{
    width:430px;
    height:430px;
    background:rgba(242,159,99,.16);
    right:-150px;
    bottom:-150px;
}
.pet-login-shell{
    position:relative;
    z-index:2;
    width:min(1080px, 100%);
    min-height:620px;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    background:rgba(255,255,255,.76);
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 28px 90px rgba(32,58,55,.18);
    border-radius:38px;
    overflow:hidden;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.pet-login-hero{
    position:relative;
    padding:56px 52px;
    color:#fff;
    background:
        linear-gradient(145deg, rgba(15,81,76,.96), rgba(23,122,114,.90)),
        url('../assets/img/vet-pattern.svg');
    background-size:cover;
    overflow:hidden;
}
.pet-login-hero::after{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    right:-125px;
    bottom:-100px;
    border-radius:50%;
    background:rgba(255,255,255,.10);
    box-shadow:-90px -80px 0 rgba(242,159,99,.22);
}
.pet-hero-badge{
    display:inline-flex;
    align-items:center;
    gap:9px;
    height:38px;
    padding:0 15px;
    border-radius:999px;
    color:#0F514C;
    background:#FFF9EF;
    font-weight:800;
    box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.pet-login-hero h1{
    max-width:500px;
    margin:46px 0 16px;
    font-size:44px;
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.03em;
}
.pet-login-hero p{
    max-width:500px;
    font-size:18px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
.pet-hero-card-grid{
    position:absolute;
    left:52px;
    right:52px;
    bottom:48px;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:13px;
}
.pet-hero-card{
    min-height:132px;
    padding:16px 14px;
    border-radius:22px;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(6px);
}
.pet-hero-card i{
    width:38px;
    height:38px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.18);
    color:#FFE6C8;
    font-size:20px;
    margin-bottom:12px;
}
.pet-hero-card strong{
    display:block;
    font-size:15px;
    margin-bottom:5px;
}
.pet-hero-card small{
    display:block;
    color:rgba(255,255,255,.78);
    line-height:1.35;
}
.pet-login-card-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:38px;
    background:
        radial-gradient(circle at 88% 8%, rgba(242,159,99,.13), transparent 28%),
        linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.72));
}
.logInForm.pet-login-card{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:410px !important;
    padding:0 !important;
    color:var(--vet-text) !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}
.pet-login-logo-wrap{
    width:116px;
    height:116px;
    margin:0 auto 14px;
    border-radius:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    box-shadow:0 16px 42px rgba(23,122,114,.16);
    border:1px solid var(--vet-border);
}
.pet-login-logo{
    width:88px;
    height:88px;
    object-fit:contain;
    display:block;
}
.pet-login-title span{
    color:var(--vet-secondary);
    font-weight:900;
    text-transform:uppercase;
    font-size:12px;
    letter-spacing:.12em;
}
.pet-login-title h2{
    margin:7px 0 5px;
    color:var(--pet-ink);
    font-size:28px;
    font-weight:900;
}
.pet-login-title p{
    color:var(--vet-muted) !important;
    margin-bottom:28px;
}
.logInForm.pet-login-card label,
.logInForm.pet-login-card p{
    color:var(--vet-muted) !important;
}
.pet-input-group{
    position:relative;
    margin-bottom:25px !important;
}
.pet-input-group .form-control{
    height:52px;
    padding-left:44px;
    padding-right:48px;
    border:1px solid var(--vet-border) !important;
    border-radius:18px !important;
    background:#fff !important;
    background-image:none !important;
    color:var(--vet-text) !important;
    box-shadow:0 7px 18px rgba(26,85,78,.05) !important;
}
.pet-input-group.is-focused .form-control,
.pet-input-group .form-control:focus{
    border-color:var(--vet-primary) !important;
    box-shadow:0 0 0 4px rgba(23,122,114,.12) !important;
}
.pet-input-group .control-label{
    left:44px !important;
    color:var(--vet-muted) !important;
}
.pet-input-group.is-focused label,
.pet-input-group.is-focused .control-label{
    color:var(--vet-primary) !important;
}
.pet-input-icon{
    position:absolute;
    left:16px;
    top:18px;
    color:var(--vet-primary);
    font-size:19px;
    z-index:4;
}
.pet-password-toggle{
    position:absolute;
    right:12px;
    top:10px;
    width:34px;
    height:34px;
    border:0;
    border-radius:12px;
    background:var(--vet-primary-soft);
    color:var(--vet-primary-dark);
    z-index:5;
}
.pet-login-btn{
    width:100%;
    height:52px;
    border:0 !important;
    border-radius:18px !important;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    color:#fff !important;
    background:linear-gradient(135deg,var(--vet-primary),var(--vet-primary-dark)) !important;
    box-shadow:0 15px 32px rgba(23,122,114,.22) !important;
    font-weight:900;
    letter-spacing:.01em;
}
.pet-login-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 38px rgba(23,122,114,.30) !important;
}
.pet-login-footer-note{
    margin-top:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:var(--vet-muted);
    font-size:13px;
    text-align:center;
}
.pet-login-footer-note i{ color:var(--vet-primary); }

/* ================= BARRA LATERAL ================= */
.dashboard-sideBar,
.dashboard-sideBar-ct{ width:286px !important; }
.dashboard-contentPage{ padding-left:286px !important; }
.dashboard-contentPage.no-paddin-left{ padding-left:0 !important; }
.dashboard-sideBar{ box-shadow:14px 0 42px rgba(20,75,69,.13) !important; }
.dashboard-sideBar-ct{
    background:
        radial-gradient(circle at 28% -4%, rgba(255,255,255,.22), transparent 28%),
        linear-gradient(180deg,var(--vet-sidebar-start) 0%,var(--vet-sidebar-middle) 52%,var(--vet-sidebar-end) 100%) !important;
    border-right:1px solid rgba(255,255,255,.16) !important;
}
.dashboard-sideBar-ct::after{
    content:"";
    position:absolute;
    left:18px;
    right:18px;
    bottom:18px;
    height:120px;
    border-radius:30px;
    background:rgba(255,255,255,.06);
    pointer-events:none;
}
.vet-sidebar-brand{ min-height:132px !important; }
.vet-sidebar-logo{
    width:100%;
    min-height:92px;
    border-radius:26px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.15);
    margin-top:16px;
}
.vet-sidebar-logo img{
    max-width:96px !important;
    max-height:96px !important;
    filter:drop-shadow(0 10px 16px rgba(0,0,0,.16)) !important;
}
.dashboard-sideBar-Menu.vet-menu > li > a{
    border-radius:18px !important;
    min-height:46px;
    color:rgba(255,255,255,.90) !important;
}
.dashboard-sideBar-Menu.vet-menu > li > a > i,
.vet-menu > li > a i{
    background:rgba(255,255,255,.14) !important;
    color:var(--vet-sidebar-icon) !important;
}
.dashboard-sideBar-Menu.vet-menu > li > a:hover,
.dashboard-sideBar-Menu.vet-menu > li > a.active{
    background:var(--vet-sidebar-active-bg) !important;
    color:var(--vet-sidebar-end) !important;
    transform:translateX(4px) !important;
    box-shadow:0 12px 24px rgba(0,0,0,.13);
}
.dashboard-sideBar-Menu.vet-menu > li > a:hover i,
.dashboard-sideBar-Menu.vet-menu > li > a.active i{
    background:var(--vet-secondary-soft) !important;
    color:var(--vet-secondary) !important;
}
.vet-menu-section{
    color:var(--vet-sidebar-section) !important;
    letter-spacing:.15em !important;
}
.vet-sidebar-help{
    background:rgba(255,249,239,.14) !important;
    border-color:rgba(255,249,239,.18) !important;
}
.vet-sidebar-help strong{ color:var(--vet-sidebar-section) !important; }

/* ================= NAVBAR ================= */
.dashboard-Navbar.vet-navbar{
    height:74px !important;
    background:rgba(255,255,255,.88) !important;
    border-bottom:1px solid rgba(221,237,232,.95) !important;
    box-shadow:0 12px 34px rgba(26,85,78,.08) !important;
}
.vet-nav-toggle{
    background:linear-gradient(135deg,var(--vet-primary),var(--vet-secondary)) !important;
    border-radius:16px !important;
}
.vet-nav-title{ color:var(--pet-ink) !important; }
.vet-date-pill,
#btn-notificaciones.noti-btn{
    background:var(--vet-primary-soft) !important;
    color:var(--vet-primary-dark) !important;
}
#btn-notificaciones .noti-icon{ color:var(--vet-primary-dark) !important; }
.pet-user-trigger{
    border-color:var(--vet-border) !important;
    box-shadow:var(--vet-shadow-sm) !important;
}
.pet-user-avatar{
    background:linear-gradient(135deg,var(--vet-primary),var(--vet-secondary)) !important;
}
.pet-user-option:hover{
    background:var(--vet-primary-soft) !important;
    color:var(--vet-primary-dark) !important;
}

/* ================= CONTENIDO GENERAL ================= */
.panel,
.card,
.vet-panel,
.vet-kpi-card,
.vet-quick-card{
    border-color:var(--vet-border) !important;
    box-shadow:var(--vet-shadow-sm) !important;
}
.panel-heading,
.modal-header{
    background:linear-gradient(135deg,var(--vet-primary),var(--vet-primary-dark)) !important;
}
.btn-primary,
.btn-info{
    background:var(--vet-primary) !important;
    border-color:var(--vet-primary) !important;
}
.btn-primary:hover,
.btn-info:hover{
    background:var(--vet-primary-dark) !important;
    border-color:var(--vet-primary-dark) !important;
}
.btn-success{
    background:#2EAF84 !important;
    border-color:#2EAF84 !important;
}
.form-control:focus{
    border-color:var(--vet-primary) !important;
    box-shadow:0 0 0 4px rgba(23,122,114,.11) !important;
}
.table > thead > tr > th,
.vet-table thead th{
    background:var(--vet-primary-soft) !important;
    color:var(--vet-primary-dark) !important;
}
.table > tbody > tr:hover{ background:#FAFFFC !important; }

/* ================= DASHBOARD ================= */
.vet-dashboard{ padding:28px 32px 38px !important; }
.vet-dashboard-welcome{
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(135deg,rgba(15,81,76,.97),rgba(23,122,114,.88)),
        url('../assets/img/vet-pattern.svg') !important;
    background-size:cover !important;
    border-radius:32px !important;
    min-height:150px;
}
.vet-dashboard-welcome::after{
    content:"🐾";
    position:absolute;
    right:28px;
    bottom:-28px;
    font-size:118px;
    opacity:.12;
    transform:rotate(-12deg);
}
.vet-dashboard-welcome h1{
    font-weight:900 !important;
    letter-spacing:-.02em;
}
.vet-dashboard-welcome p{ color:rgba(255,255,255,.90) !important; }
.vet-dashboard-date-pill{ background:rgba(255,249,239,.18) !important; }
.vet-kpi-card,
.vet-quick-card,
.vet-panel{
    border-radius:26px !important;
    background:rgba(255,255,255,.92) !important;
}
.vet-kpi-card:hover,
.vet-quick-card:hover,
.card:hover{
    box-shadow:var(--vet-shadow) !important;
}
.vet-kpi-icon,
.vet-quick-card > i{
    background:linear-gradient(135deg,var(--vet-primary),var(--vet-secondary)) !important;
    color:#fff !important;
}
.vet-quick-card > i{
    width:54px;
    height:54px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:25px !important;
}
.vet-section-title span,
.vet-panel-title span{ background:var(--vet-secondary) !important; }
.vet-outline-btn{
    border-color:var(--vet-primary) !important;
    color:var(--vet-primary) !important;
}
.vet-outline-btn:hover{ background:var(--vet-primary-soft) !important; }
.vet-best-item em{ background:linear-gradient(90deg,var(--vet-primary),var(--vet-secondary)) !important; }

/* ================= RESPONSIVE ================= */
@media (max-width:1199px){
    .pet-login-shell{ grid-template-columns:1fr; max-width:520px; min-height:auto; }
    .pet-login-hero{ display:none !important; }
    .pet-login-card-wrap{ padding:36px 28px; }
}
@media (max-width:991px){
    .dashboard-sideBar,
    .dashboard-sideBar-ct{ width:100% !important; }
    .dashboard-sideBar-ct{ max-width:min(86vw, 320px) !important; }
    .dashboard-contentPage,
    .dashboard-contentPage.no-paddin-left{ padding-left:0 !important; }
}
@media (max-width:767px){
    .containerLogin.pet-login-page{ padding:16px; align-items:flex-start; overflow-y:auto; }
    .pet-login-shell{ width:100%; margin-top:18px; border-radius:28px; }
    .pet-login-card-wrap{ padding:28px 20px; }
    .pet-login-logo-wrap{ width:96px; height:96px; border-radius:26px; }
    .pet-login-logo{ width:74px; height:74px; }
    .pet-login-title h2{ font-size:23px; }
    .pet-input-group .form-control{ height:50px; }
    .dashboard-Navbar.vet-navbar{ height:66px !important; padding:0 12px !important; }
    .vet-nav-title{ max-width:44vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .vet-dashboard{ padding:16px 12px 28px !important; }
    .vet-dashboard-welcome{ border-radius:24px !important; padding:20px !important; }
    .vet-kpi-grid,.vet-quick-grid{ grid-template-columns:1fr !important; }
    .pet-user-menu{ display:none !important; }
}

/* ================= AJUSTES ADMINISTRACIÓN / MENÚ USUARIO ================= */
.dashboard-Navbar.vet-navbar{
    overflow:visible !important;
    position:sticky !important;
    top:0 !important;
}
.pet-user-menu{ z-index:10050 !important; }
.pet-user-dropdown{
    z-index:10060 !important;
    overflow:hidden !important;
}
.pet-user-menu.open .pet-user-dropdown,
.pet-user-menu.is-open .pet-user-dropdown{
    display:block !important;
    animation:vetUserDrop .16s ease-out both;
}
@keyframes vetUserDrop{
    from{ opacity:0; transform:translateY(-6px) scale(.98); }
    to{ opacity:1; transform:translateY(0) scale(1); }
}
.pet-user-trigger:focus{
    outline:3px solid color-mix(in srgb, var(--vet-primary) 24%, transparent) !important;
    outline-offset:2px !important;
}

.vet-theme-admin-panel{
    border:0 !important;
    border-radius:22px !important;
    overflow:hidden !important;
    box-shadow:var(--vet-shadow-sm) !important;
}
.vet-theme-admin-panel .panel-heading{
    background:linear-gradient(135deg,var(--vet-primary),var(--vet-primary-dark)) !important;
    color:#fff !important;
    border:0 !important;
    padding:16px 18px !important;
}
.vet-theme-admin-panel .panel-title{
    font-weight:800 !important;
    letter-spacing:.01em !important;
}
.vet-theme-help{
    margin:0 0 16px !important;
    color:var(--vet-muted) !important;
}
.vet-theme-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(178px,1fr));
    gap:14px;
    margin:12px 0 18px;
}
.vet-theme-option{ margin:0 !important; display:block; cursor:pointer; }
.vet-theme-option input{ position:absolute; opacity:0; pointer-events:none; }
.vet-theme-card{
    min-height:112px;
    border:2px solid var(--vet-border);
    border-radius:18px;
    padding:14px;
    background:#fff;
    transition:.18s ease;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}
.vet-theme-option:hover .vet-theme-card{
    transform:translateY(-2px);
    box-shadow:var(--vet-shadow-sm);
}
.vet-theme-option input:checked + .vet-theme-card{
    border-color:var(--vet-primary);
    box-shadow:0 12px 28px color-mix(in srgb, var(--vet-primary) 18%, transparent);
}
.vet-theme-swatches{
    display:flex;
    gap:7px;
    align-items:center;
    margin-bottom:12px;
}
.vet-theme-swatch{
    width:30px;
    height:30px;
    border-radius:10px;
    border:2px solid rgba(255,255,255,.88);
    box-shadow:0 3px 10px rgba(0,0,0,.12);
}
.vet-theme-name{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    font-weight:800;
    color:var(--vet-text);
}
.vet-theme-name i{ color:var(--vet-primary); opacity:0; transition:.18s ease; }
.vet-theme-option input:checked + .vet-theme-card .vet-theme-name i{ opacity:1; }
.vet-theme-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.vet-theme-actions .btn{ margin:0 !important; }
.vet-theme-note{
    color:var(--vet-muted);
    font-size:13px;
}
@media(max-width:767px){
    .vet-theme-grid{ grid-template-columns:1fr; }
    .vet-theme-actions .btn{ width:100%; }
}


/* ================= COLORES PERSONALIZADOS ADMIN ================= */
.vet-theme-current-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    margin:0 0 16px;
    border-radius:18px;
    background:linear-gradient(135deg,var(--vet-primary-soft),#fff);
    border:1px solid var(--vet-border);
}
.vet-theme-current-banner strong{ color:var(--vet-text); }
.vet-theme-current-banner span{ color:var(--vet-muted); font-weight:800; }
.vet-theme-current-swatches{ display:flex; gap:8px; align-items:center; }
.vet-theme-current-swatches span{
    width:32px;
    height:32px;
    border-radius:11px;
    border:2px solid rgba(255,255,255,.92);
    box-shadow:0 5px 14px rgba(0,0,0,.13);
}
.vet-theme-subtitle{
    margin:8px 0 12px !important;
    font-size:16px !important;
    font-weight:900 !important;
    color:var(--vet-text) !important;
    display:flex;
    align-items:center;
    gap:8px;
}
.vet-theme-subtitle i{ color:var(--vet-primary); }
.vet-theme-divider{
    border:0 !important;
    border-top:1px dashed var(--vet-border) !important;
    margin:22px 0 !important;
}
.vet-custom-color-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:14px;
    margin:12px 0 18px;
}
.vet-custom-color-item{
    margin:0 !important;
    padding:14px;
    min-height:94px;
    border-radius:18px;
    border:2px solid var(--vet-border);
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    transition:.18s ease;
}
.vet-custom-color-item:hover{
    border-color:var(--vet-primary);
    transform:translateY(-1px);
    box-shadow:var(--vet-shadow-sm);
}
.vet-custom-color-item span{
    font-weight:800;
    color:var(--vet-text);
    line-height:1.25;
}
.vet-custom-color-item input[type="color"]{
    width:54px;
    height:46px;
    min-width:54px;
    padding:3px;
    border:1px solid var(--vet-border);
    border-radius:14px;
    background:#fff;
    cursor:pointer;
}
.vet-custom-color-item input[type="color"]::-webkit-color-swatch-wrapper{ padding:0; }
.vet-custom-color-item input[type="color"]::-webkit-color-swatch{
    border:0;
    border-radius:10px;
}
@media(max-width:767px){
    .vet-theme-current-banner{ align-items:flex-start; flex-direction:column; }
    .vet-custom-color-grid{ grid-template-columns:1fr; }
}

/* Administración de página web y acceso de clientes */
.vet-web-admin-panel .panel-body,
.vet-client-access-admin-panel .panel-body{background:linear-gradient(135deg,#ffffff,#f8fffd)}
.vet-web-admin-panel fieldset{border:1px solid rgba(34,166,153,.14)!important;border-radius:18px;padding:16px 16px 8px;margin-bottom:10px;background:#fff}
.vet-web-admin-panel legend{width:auto!important;border:0!important;padding:0 10px!important;margin-bottom:12px!important;font-size:16px!important;color:#168778!important;font-weight:900!important}
.vet-web-admin-panel label,
.vet-client-access-admin-panel label{color:#223!important;font-weight:800!important;margin-top:8px}
.vet-admin-check{display:flex;align-items:center;gap:8px;min-height:42px;background:#f3fbf8;border:1px solid rgba(34,166,153,.13);border-radius:14px;padding:9px 12px!important;margin-top:26px!important}
.vet-admin-category-box{display:flex;gap:8px;flex-wrap:wrap;background:#f8fffd;border:1px solid rgba(34,166,153,.13);border-radius:14px;padding:10px;min-height:42px}
.vet-admin-category-box label{margin:0!important;background:#fff;border:1px solid rgba(34,166,153,.16);border-radius:999px;padding:6px 10px!important;font-size:13px!important;display:inline-flex;align-items:center;gap:6px}
.vet-admin-services-grid{margin-top:10px}.vet-admin-service-item{background:#f8fffd;border:1px solid rgba(34,166,153,.13);border-radius:16px;padding:12px;margin-bottom:12px}.vet-admin-service-item textarea{margin-top:8px}.vet-client-access-admin-panel select{height:42px!important}.vet-web-admin-panel .btn,.vet-client-access-admin-panel .btn{border-radius:999px!important;font-weight:900!important}
@media(max-width:767px){.vet-admin-check{margin-top:10px!important}.vet-client-access-admin-panel .btn{margin-top:8px}.vet-web-admin-panel fieldset{padding:12px}}

/* ===== Administración de página pública: editor organizado ===== */
.vet-web-admin-modern .panel-body{background:linear-gradient(135deg,#ffffff,#f7fffc)!important}.vet-web-admin-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,rgba(34,166,153,.12),rgba(255,170,95,.13));border:1px solid rgba(34,166,153,.15);border-radius:22px;padding:20px;margin-bottom:20px}.vet-web-admin-hero span{color:#168778;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.vet-web-admin-hero h3{margin:6px 0;color:#22223b;font-weight:900;line-height:1.2}.vet-web-admin-hero p{margin:0;color:#667085}.vet-web-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.vet-admin-editor-card{background:#fff;border:1px solid rgba(34,166,153,.14);border-radius:22px;padding:18px;box-shadow:0 14px 30px rgba(33,44,62,.06)}.vet-editor-card-wide{grid-column:1 / -1}.vet-admin-editor-title{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(34,166,153,.10)}.vet-admin-editor-title>i{width:42px;height:42px;border-radius:16px;background:rgba(34,166,153,.12);color:#168778;display:flex;align-items:center;justify-content:center;font-size:22px}.vet-admin-editor-title strong{display:block;color:#22223b;font-size:17px}.vet-admin-editor-title small{display:block;color:#667085;font-weight:700}.vet-web-admin-modern label{margin-top:10px!important}.vet-toggle-card{display:flex!important;align-items:center;gap:10px;background:#f8fffd;border:1px solid rgba(34,166,153,.14);border-radius:16px;padding:12px!important;margin:8px 0 12px!important}.vet-category-clean{max-height:170px;overflow:auto;background:#f8fffd;border:1px solid rgba(34,166,153,.14);border-radius:16px;padding:12px}.vet-category-clean label{display:inline-flex!important;align-items:center;gap:6px;margin:4px!important;background:#fff;border:1px solid rgba(34,166,153,.12);border-radius:999px;padding:7px 11px!important}.vet-services-clean-grid .vet-admin-service-item{min-height:145px}.vet-web-admin-savebar{position:sticky;bottom:10px;z-index:20;margin-top:18px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid rgba(34,166,153,.16);border-radius:22px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 16px 36px rgba(33,44,62,.10)}.vet-web-admin-savebar strong{display:block;color:#22223b}.vet-web-admin-savebar span{color:#667085;font-size:13px}.vet-web-admin-savebar .btn{margin:0!important}@media(max-width:900px){.vet-web-admin-grid{grid-template-columns:1fr}.vet-web-admin-hero,.vet-web-admin-savebar{flex-direction:column;align-items:flex-start}.vet-web-admin-savebar .btn{width:100%}}

/* =========================================================
   V7 - Centro de administración veterinaria limpio y usable
   ========================================================= */
.vet-admin-center{padding:22px 24px 34px!important;max-width:1540px;margin:0 auto}.vet-admin-center *{box-sizing:border-box}.vet-admin-hero-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--vet-primary) 16%,#fff),color-mix(in srgb,var(--vet-secondary) 12%,#fff));border:1px solid var(--vet-border);border-radius:30px;padding:28px;box-shadow:var(--vet-shadow-sm);margin-bottom:18px;position:relative;overflow:hidden}.vet-admin-hero-card:after{content:"";position:absolute;right:-70px;top:-90px;width:260px;height:260px;border-radius:50%;background:color-mix(in srgb,var(--vet-secondary) 20%,transparent)}.vet-admin-hero-card>div{position:relative;z-index:2}.vet-admin-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--vet-border);border-radius:999px;padding:7px 12px;color:var(--vet-primary);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.06em}.vet-admin-hero-card h1{margin:12px 0 8px!important;color:var(--vet-text)!important;font-size:32px!important;font-weight:900!important;line-height:1.12!important}.vet-admin-hero-card p{max-width:760px;margin:0;color:var(--vet-muted);font-size:15px;line-height:1.55}.vet-admin-hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.vet-admin-hero-actions .btn{border-radius:999px!important;font-weight:900!important;white-space:nowrap}.vet-admin-stats-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;margin-bottom:18px}.vet-admin-stat{display:flex;flex-direction:column;gap:6px;min-height:118px;background:#fff;border:1px solid var(--vet-border);border-radius:24px;padding:16px;color:var(--vet-text)!important;text-decoration:none!important;box-shadow:0 10px 26px rgba(33,44,62,.055);position:relative;overflow:hidden;transition:.18s ease}.vet-admin-stat:hover{transform:translateY(-2px);box-shadow:var(--vet-shadow-sm);border-color:var(--vet-primary)}.vet-admin-stat i{width:42px;height:42px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--vet-primary-soft);color:var(--vet-primary);font-size:22px}.vet-admin-stat span{font-size:12px;color:var(--vet-muted);font-weight:900;text-transform:uppercase;letter-spacing:.04em}.vet-admin-stat strong{font-size:24px;color:var(--vet-text);font-weight:900;line-height:1}.vet-admin-stat.is-warning i{background:#fff4df;color:#c98419}.vet-admin-stat.is-danger i{background:#ffe9e7;color:#d84c3f}.vet-admin-nav-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:#fff;border:1px solid var(--vet-border);border-radius:26px;padding:12px;box-shadow:0 12px 28px rgba(33,44,62,.06);margin-bottom:18px}.vet-admin-tab{appearance:none;border:1px solid transparent;background:#f8fffd;border-radius:20px;padding:14px 14px;display:grid;grid-template-columns:42px 1fr;gap:10px;text-align:left;align-items:center;cursor:pointer;transition:.18s ease;color:var(--vet-text)}.vet-admin-tab i{grid-row:1 / span 2;width:42px;height:42px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--vet-primary);font-size:22px;box-shadow:0 6px 16px rgba(33,44,62,.06)}.vet-admin-tab span{font-weight:900;color:var(--vet-text)}.vet-admin-tab small{font-weight:700;color:var(--vet-muted)}.vet-admin-tab:hover,.vet-admin-tab.active{background:linear-gradient(135deg,var(--vet-primary),var(--vet-primary-dark));color:#fff;box-shadow:var(--vet-shadow-sm);transform:translateY(-1px)}.vet-admin-tab:hover span,.vet-admin-tab:hover small,.vet-admin-tab.active span,.vet-admin-tab.active small{color:#fff}.vet-admin-tab:hover i,.vet-admin-tab.active i{background:rgba(255,255,255,.18);color:#fff}.vet-admin-section{display:none;animation:vetAdminFade .22s ease}.vet-admin-section.active{display:block}@keyframes vetAdminFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.vet-admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--vet-border);border-radius:26px;padding:20px 22px;margin-bottom:16px;box-shadow:0 12px 28px rgba(33,44,62,.045)}.vet-admin-section-head>div:first-child{display:flex;gap:14px;align-items:flex-start}.vet-admin-section-head span:first-child{min-width:44px;height:44px;border-radius:16px;background:var(--vet-primary-soft);color:var(--vet-primary);display:flex;align-items:center;justify-content:center;font-weight:900}.vet-admin-section-head h2{margin:0 0 4px!important;font-size:22px!important;font-weight:900!important;color:var(--vet-text)!important}.vet-admin-section-head p{margin:0;color:var(--vet-muted);line-height:1.45}.vet-admin-two-columns{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.vet-admin-editor-card{border-color:var(--vet-border)!important;border-radius:26px!important;box-shadow:0 14px 32px rgba(33,44,62,.065)!important}.vet-admin-editor-card label{font-weight:900!important;color:var(--vet-text)!important;margin-top:10px!important}.vet-admin-editor-card .form-control{border-radius:14px!important;border:1px solid var(--vet-border)!important;box-shadow:none!important}.vet-admin-editor-card textarea.form-control{min-height:88px;resize:vertical}.vet-theme-grid-compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important}.vet-custom-color-grid-clean{grid-template-columns:1fr!important}.vet-admin-swatches{background:#fff;border:1px solid var(--vet-border);padding:8px;border-radius:999px}.vet-web-admin-grid-clean{grid-template-columns:1fr 1fr!important}.vet-savebar-clean{border-radius:26px!important}.vet-admin-mini-indicator{display:flex!important;align-items:center!important;gap:10px;background:var(--vet-primary-soft);border:1px solid var(--vet-border);border-radius:18px;padding:12px 16px}.vet-admin-mini-indicator strong{font-size:26px;color:var(--vet-primary)}.vet-admin-mini-indicator span{display:block!important;width:auto!important;height:auto!important;background:transparent!important;color:var(--vet-muted)!important;text-transform:none!important;letter-spacing:0!important;font-weight:800!important}.vet-form-help{margin:16px 0;padding:12px 14px;border-radius:16px;background:var(--vet-primary-soft);color:var(--vet-text);font-weight:800;display:flex;gap:8px;align-items:center}.vet-form-help i{color:var(--vet-primary)}.vet-clean-form label{margin-top:10px}.vet-admin-user-form-card{max-width:980px;margin:0 auto}.vet-admin-category-box{max-height:190px;overflow:auto}.vet-admin-service-item input+.form-control,.vet-admin-service-item textarea{margin-top:8px!important}.vet-admin-section .btn{border-radius:999px!important;font-weight:900!important}.vet-admin-section .select2-container{width:100%!important}.vet-admin-section select.form-control{height:42px!important}.vet-admin-section input[type="color"]{cursor:pointer}
@media(max-width:1200px){.vet-admin-stats-grid{grid-template-columns:repeat(3,1fr)}.vet-admin-nav-card{grid-template-columns:repeat(2,1fr)}.vet-admin-two-columns{grid-template-columns:1fr}.vet-web-admin-grid-clean{grid-template-columns:1fr!important}}
@media(max-width:767px){.vet-admin-center{padding:14px 10px 24px!important}.vet-admin-hero-card,.vet-admin-section-head{flex-direction:column;align-items:flex-start;border-radius:22px;padding:18px}.vet-admin-hero-card h1{font-size:24px!important}.vet-admin-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.vet-admin-stat{min-height:106px;border-radius:20px}.vet-admin-nav-card{grid-template-columns:1fr}.vet-admin-tab{grid-template-columns:38px 1fr}.vet-admin-section-head>div:first-child{gap:10px}.vet-admin-section-head span:first-child{min-width:38px;height:38px}.vet-admin-section-head h2{font-size:19px!important}.vet-admin-hero-actions,.vet-admin-hero-actions .btn{width:100%}.vet-admin-hero-actions .btn{display:block}.vet-web-admin-savebar{position:relative!important;bottom:auto!important}.vet-admin-editor-card{padding:14px!important;border-radius:20px!important}}

/* V7 - Mensajes seguros cuando un módulo no puede cargar */
.vet-admin-message{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:18px 20px;
    margin:18px 0;
    border-radius:18px;
    background:#ffffff;
    box-shadow:0 14px 35px rgba(15, 61, 69, .10);
    border:1px solid rgba(15, 61, 69, .08);
}
.vet-admin-message i{
    width:42px;
    height:42px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    flex:0 0 42px;
}
.vet-admin-message strong{display:block;color:#183b43;font-size:16px;margin-bottom:4px;}
.vet-admin-message p{margin:0;color:#61767b;line-height:1.45;}
.vet-admin-message-error{border-left:5px solid #ef6c57;}
.vet-admin-message-error i{background:#fff0ec;color:#ef6c57;}


/* =========================================================
   V8 FIX - Sidebar, navbar usuario y pestañas Administración
   ========================================================= */
.dashboard-sideBar{
    transition:transform .22s ease, opacity .22s ease !important;
    will-change:transform !important;
}
.dashboard-sideBar.show-sidebar{
    transform:translateX(0) !important;
    opacity:1 !important;
    pointer-events:auto !important;
    visibility:visible !important;
}
.dashboard-sideBar.hide-sidebar{
    transform:translateX(-105%) !important;
    opacity:0 !important;
    pointer-events:none !important;
    visibility:hidden !important;
}
.dashboard-contentPage{ transition:padding-left .22s ease !important; }
.dashboard-contentPage.no-paddin-left{ padding-left:0 !important; }
@media (min-width:992px){
    .dashboard-contentPage:not(.no-paddin-left){ padding-left:286px !important; }
}
@media (max-width:991px){
    .dashboard-contentPage,
    .dashboard-contentPage.no-paddin-left{ padding-left:0 !important; }
    .dashboard-sideBar{ width:100% !important; }
    .dashboard-sideBar.show-sidebar{ visibility:visible !important; opacity:1 !important; pointer-events:auto !important; }
    .dashboard-sideBar.hide-sidebar{ visibility:hidden !important; opacity:0 !important; pointer-events:none !important; }
}
.dashboard-Navbar.vet-navbar{
    overflow:visible !important;
    z-index:10020 !important;
}
.pet-user-menu,
.pet-user-menu.hidden-xs{
    position:relative !important;
    z-index:10050 !important;
    pointer-events:auto !important;
}
.pet-user-trigger{ cursor:pointer !important; pointer-events:auto !important; }
.pet-user-dropdown{
    z-index:10070 !important;
    pointer-events:auto !important;
}
.pet-user-menu.open .pet-user-dropdown,
.pet-user-menu.is-open .pet-user-dropdown{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
}
.vet-admin-nav-card,
.vet-admin-tab,
.vet-admin-tab *{
    pointer-events:auto !important;
}
.vet-admin-tab{ cursor:pointer !important; user-select:none !important; }
.vet-admin-section{ display:none !important; }
.vet-admin-section.active{ display:block !important; }
.vet-admin-info-note{display:flex;align-items:flex-start;gap:9px;background:var(--vet-primary-soft,#f2fbf7);border:1px solid var(--vet-border,rgba(122,96,209,.16));border-radius:16px;padding:12px 14px;margin:10px 0 12px;color:var(--vet-text,#2f294a);font-weight:800;line-height:1.45}.vet-admin-info-note i{color:var(--vet-primary,#7a60d1);font-size:18px;margin-top:1px}
