/* ==========================================================
   SISTENVET V11 FINAL - ESTILOS PRINCIPALES
   Diseño claro, limpio, responsive y fácil de editar.
========================================================== */
:root{--bg:#f5f7fb;--card:#fff;--line:#dbe5f2;--text:#051736;--muted:#5f6f89;--primary:#0ea5a3;--blue:#2563eb;--green:#16a34a;--red:#dc2626;--amber:#f59e0b;--purple:#9333ea;--sidebar:#fff;--sidebar-text:#10223f;--shadow:0 14px 34px rgba(15,23,42,.08);--radius:18px;--sidebar-width:280px;--topbar-height:72px;--transition:.2s ease}*{box-sizing:border-box}html,body{min-height:100%;}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}svg,.sv-icon{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;fill:currentColor;flex:0 0 20px}.app-shell{display:flex;min-height:100vh}.workspace{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));min-height:100vh}.content{padding:28px;max-width:1600px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);height:100vh;background:var(--sidebar);border-right:1px solid var(--line);overflow-y:auto;overflow-x:hidden;z-index:100;transition:var(--transition);box-shadow:0 10px 30px rgba(15,23,42,.05)}.brand{height:82px;display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.brand-mark{width:42px;height:42px;min-width:42px;border-radius:14px;background:#f0f6ff;color:var(--blue);display:grid;place-items:center;font-weight:900;font-size:16px}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-title{font-size:18px;font-weight:900;color:var(--sidebar-text)}.brand-subtitle{font-size:12px;color:var(--muted);margin-top:3px}.sidebar-collapse{margin-left:auto;border:0;background:#f2f6fb;color:#27415f;border-radius:10px;width:34px;height:34px;cursor:pointer}.menu-search{padding:14px}.menu-search input,.toolbar input,.toolbar select,.form-control{width:100%;border:1px solid #c8d5e7;border-radius:13px;padding:11px 13px;background:#fff;color:var(--text);outline:none}.menu-group-title{width:calc(100% - 24px);margin:12px 12px 6px;padding:8px 6px;background:transparent;border:0;display:flex;justify-content:space-between;align-items:center;color:#61738d;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.06em;cursor:pointer}.menu-group.closed .menu-group-body{display:none}.menu-item{display:flex;align-items:center;gap:12px;margin:4px 12px;padding:12px 12px;border-radius:14px;color:var(--sidebar-text);font-weight:700;transition:var(--transition)}.menu-item:hover,.menu-item.active{background:#edf5ff;color:var(--blue);transform:translateX(2px)}.menu-item span{white-space:nowrap}.sidebar.collapsed{width:82px}.sidebar.collapsed .brand-text,.sidebar.collapsed .menu-search,.sidebar.collapsed .menu-group-title span:first-child,.sidebar.collapsed .menu-item span{display:none}.sidebar.collapsed .brand{justify-content:center;padding:16px 10px}.sidebar.collapsed .menu-item{justify-content:center;margin:6px 12px}.sidebar.collapsed+.workspace{margin-left:82px;width:calc(100% - 82px)}body.sidebar-collapsed{--sidebar-width:82px}.topbar{height:var(--topbar-height);background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 24px;position:sticky;top:0;z-index:50}.hamb{border:0;background:#eef4ff;border-radius:12px;width:42px;height:42px;display:grid;place-items:center;cursor:pointer}.top-spacer{flex:1}.branch-form select,.branch-fixed{border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);padding:10px 14px;min-width:190px}.top-icon{min-width:42px;height:42px;border-radius:14px;background:#f1f6ff;display:inline-flex;align-items:center;justify-content:center;gap:5px;color:#0f2a55;font-weight:800}.btn{border:0;border-radius:12px;padding:10px 15px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:var(--transition)}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff}.btn-blue{background:var(--blue);color:#fff}.btn-soft{background:#eef4ff;color:#0f2a55}.btn-danger{background:#fee2e2;color:#b91c1c}.btn-small{padding:7px 10px;font-size:12px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.page-title h1{font-size:30px;line-height:1.1;margin:0 0 6px}.page-title p{margin:0;color:var(--muted)}.card,.table-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:22px}.card:hover,.dashboard-link:hover,.doc-card:hover{transform:translateY(-3px);transition:var(--transition)}.hero{background:linear-gradient(135deg,#2563eb,#a21caf);color:#fff;border:0}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{display:flex;align-items:center;justify-content:space-between}.stat strong{display:block;font-size:30px;line-height:1.1;margin:6px 0}.stat .sv-icon{color:var(--blue);background:#eef4ff;border-radius:14px;padding:14px;width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important}.dashboard-link{display:block;color:inherit}.muted{color:var(--muted)}.positive,.weight-up{color:var(--green);font-weight:800}.negative,.weight-down{color:var(--red);font-weight:800}.weight-same{color:var(--muted);font-weight:800}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:900}.badge.active,.badge.success{background:#dcfce7;color:#15803d}.badge.inactive,.badge.danger{background:#fee2e2;color:#b91c1c}.badge.neutral{background:#eef2f7;color:#475569}.badge.warning{background:#fef3c7;color:#a16207}.toolbar{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;gap:12px;margin-bottom:16px}.toolbar input{flex:1}.table-card{overflow:auto}.table-card table{min-width:820px}table{width:100%;border-collapse:collapse}th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#334155;background:#f8fafc}.pet-cell{display:flex;align-items:center;gap:12px}.avatar{width:44px;height:44px;border-radius:14px;background:#eef4ff;display:grid;place-items:center;font-size:22px;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.actions{display:flex;gap:9px;align-items:center}.dots{position:relative}.drop{display:none;position:absolute;right:0;top:34px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);min-width:190px;z-index:9;padding:8px}.dots.open .drop{display:block}.drop a{display:block;padding:9px 10px;border-radius:9px}.drop a:hover{background:#f1f5f9}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-group label{display:block;font-size:12px;font-weight:800;color:#475569;margin-bottom:7px}.tabs,.wizard-tabs{display:flex;gap:8px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px;margin:18px 0;overflow-x:auto}.tabs a,.wizard-tab{padding:10px 14px;border-radius:12px;color:#475569;font-weight:800;white-space:nowrap;border:0;background:#f3f5f8;cursor:pointer}.tabs a.active,.wizard-tab.active{background:#c7f8df;color:#047857}.wizard-panel{display:none}.wizard-panel.active{display:block}.wizard-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;bottom:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 16px;margin-top:18px;box-shadow:var(--shadow)}.step-progress{flex:1;display:flex;gap:8px;overflow-x:auto}.step-progress button{border:0;background:transparent;padding:7px 9px;border-radius:10px;cursor:pointer}.step-progress button.active{background:#c7f8df;color:#047857}.pet-header{display:flex;align-items:center;gap:18px}.pet-photo{width:90px;height:90px;border-radius:24px;background:#eef4ff;display:grid;place-items:center;font-size:46px;overflow:hidden}.pet-photo img{width:100%;height:100%;object-fit:cover}.weight-box{transition:.18s}.weight-box:hover{transform:translateY(-3px)}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.doc-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;transition:.18s}.login-shell{min-height:100vh;display:grid;place-items:center;background:#f3f7fb}.login-card{width:min(430px,calc(100% - 24px));background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:28px}.alert{padding:12px 14px;border-radius:13px;margin-bottom:14px}.alert-danger{background:#fee2e2;color:#991b1b}.alert-success{background:#dcfce7;color:#166534}.chart-bars{display:grid;gap:10px}.chart-row{display:grid;grid-template-columns:120px 1fr 40px;align-items:center;gap:10px}.chart-track{height:12px;background:#e8eef6;border-radius:999px;overflow:hidden}.chart-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--blue));border-radius:999px}.calendar-mini{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{min-height:54px;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:6px;font-size:12px}.calendar-day.has-event{background:#ecfdf5;border-color:#86efac;color:#047857;font-weight:800}.dark{--bg:#0d0f12;--card:#15181d;--line:#272d36;--text:#f5f7fb;--muted:#aab4c2;--sidebar:#111827;--sidebar-text:#f8fafc}.dark .topbar,.dark .card,.dark .table-card,.dark .doc-card,.dark .login-card,.dark .wizard-footer,.dark .tabs,.dark .toolbar{background:#15181d}.dark input,.dark select,.dark textarea,.dark .form-control,.dark .branch-form select{background:#111419;color:#f5f7fb;border-color:#2d3540}@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.sidebar{transform:translateX(-100%)}body.sidebar-open .sidebar{transform:none}.workspace,.sidebar.collapsed+.workspace{margin-left:0;width:100%}.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.content{padding:18px}.toolbar{flex-direction:column}.page-head{flex-direction:column}.topbar{padding:0 12px}.branch-form select{min-width:150px}.hide-mobile{display:none}}

/* ==========================================================
   AJUSTES FINALES SOLICITADOS
   - Un solo botón de ocultar menú dentro del sidebar.
   - Sidebar blanco en modo claro y negro real en modo oscuro.
   - En móvil el menú queda compacto con iconos.
   - Wizard de mascotas sin enviar antes del último paso.
========================================================== */

/* El botón hamburguesa de topbar ya fue eliminado del HTML; se oculta por seguridad si queda cacheado. */
.topbar .hamb {
    display: none !important;
}

.document-library-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.document-title-icon{width:44px;height:44px;border-radius:8px;background:#e8f3ff;color:#2563eb;display:grid;place-items:center;box-shadow:0 8px 20px rgba(37,99,235,.18)}
.document-library-head h1{margin:0;font-size:28px;display:flex;gap:10px;align-items:center}
.document-library-head h1 span{font-size:13px;background:#d9edf9;color:#25637f;border-radius:999px;padding:4px 10px}
.document-library-head p{margin:5px 0 0;color:var(--muted)}
.document-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 180px 180px 150px auto;gap:12px;align-items:center;margin-bottom:18px}
.document-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:18px;align-items:stretch}
.document-card{position:relative;min-height:292px;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;text-align:center;box-shadow:0 10px 24px rgba(15,23,42,.05);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.document-card:hover{border-color:#60a5fa;box-shadow:0 16px 34px rgba(15,23,42,.10);transform:translateY(-2px)}
.document-card-top{height:30px;display:flex;justify-content:space-between;align-items:center;padding:8px 14px 0}
.document-id{font-size:11px;font-weight:900;background:#f0f5fa;color:#475569;border-radius:999px;padding:3px 8px}
.document-menu{font-weight:900;color:#0f172a}
.document-icon{height:64px;display:grid;place-items:center;color:#718096}
.document-icon .sv-icon{width:34px!important;height:34px!important}
.document-card h3{font-size:15px;line-height:1.25;min-height:44px;margin:0;padding:0 14px;display:grid;place-items:center}
.document-type-pill{display:inline-flex;align-self:center;margin:8px 0 0;border-radius:999px;background:#eef7fb;color:var(--primary);font-size:11px;font-weight:900;padding:4px 10px}
.document-card-body{border-top:1px solid var(--line);margin-top:12px;padding:12px 18px 4px;display:grid;gap:10px;text-align:left}
.document-meta-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;align-items:center}
.document-meta-row span{font-size:11px;text-transform:uppercase;color:#718096;font-weight:900}
.document-meta-row strong{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-card-actions{margin-top:auto;padding:12px 18px 16px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.document-card-actions .btn{height:34px;min-width:0}
.document-pager{margin-top:18px}
.empty-state{grid-column:1/-1;border:1px dashed var(--line);border-radius:8px;padding:26px;text-align:center;color:var(--muted);background:var(--card)}
.expediente-document-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.expediente-document-grid .document-card{min-height:260px}
@media(max-width:980px){.document-toolbar{grid-template-columns:1fr 1fr}.document-toolbar input{grid-column:1/-1}.document-toolbar button{grid-column:1/-1}}
@media(max-width:560px){.document-card-grid{grid-template-columns:1fr}.document-toolbar{grid-template-columns:1fr}.document-meta-row{grid-template-columns:1fr;gap:2px}.document-card-actions{grid-template-columns:1fr}}

/* En modo claro el menú lateral queda blanco como se solicitó. */
.sidebar {
    background: #ffffff;
    color: #061633;
}

/* El botón para colapsar queda dentro del menú. */
.sidebar-collapse {
    margin-left: auto;
    border: 0;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: #eef4ff;
    color: #0f2a55;
    display: grid;
    place-items: center;
    cursor: pointer;
    font-weight: 900;
}

/* Evita que el texto del logo se monte o se corte feo. */
.brand-text {
    min-width: 0;
}

.brand-title,
.brand-subtitle {
    white-space: nowrap;
}

/* Wizard: separación y claridad entre opciones. */
.owner-mode-row {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin: 12px 0 18px;
}

.owner-mode-row label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
}

.wizard-footer {
    z-index: 20;
}

/* Dashboard: tarjetas clicables más simétricas. */
.dashboard-link {
    cursor: pointer;
}

.dashboard-link:hover {
    box-shadow: 0 18px 38px rgba(15, 23, 42, .12);
}

/* Modo oscuro negro real. */
.dark {
    --bg: #090b0f;
    --card: #14171d;
    --line: #29303a;
    --text: #f5f7fb;
    --muted: #aab4c2;
    --sidebar: #0b111c;
    --sidebar-text: #f8fafc;
}

.dark body,
body.dark {
    background: #090b0f;
}

.dark .sidebar {
    background: #0b111c !important;
    color: #f8fafc;
}

.dark .topbar,
.dark .card,
.dark .table-card,
.dark .doc-card,
.dark .login-card,
.dark .wizard-footer,
.dark .tabs,
.dark .wizard-tabs,
.dark .toolbar {
    background: #14171d !important;
    border-color: #29303a;
}

.dark .menu-item {
    color: #f8fafc;
}

.dark .menu-item:hover,
.dark .menu-item.active {
    background: #eef4ff;
    color: #2563eb;
}

.dark .menu-search input,
.dark input,
.dark select,
.dark textarea,
.dark .form-control,
.dark .branch-form select {
    background: #090b0f !important;
    color: #f5f7fb !important;
    border-color: #29303a !important;
}

.dark .sidebar-collapse,
.dark .top-icon,
.dark .btn-soft {
    background: #eef4ff;
    color: #0f2a55;
}

/* Scroll oscuro/limpio. */
* {
    scrollbar-width: thin;
    scrollbar-color: #94a3b8 transparent;
}

.dark * {
    scrollbar-color: #475569 #090b0f;
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 999px;
}

.dark ::-webkit-scrollbar-track {
    background: #090b0f;
}

.dark ::-webkit-scrollbar-thumb {
    background: #475569;
}

/* Móvil/tablet: el menú no desaparece; queda compacto con iconos. */
@media (max-width: 900px) {
    .sidebar {
        transform: none !important;
        width: 78px !important;
        min-width: 78px !important;
    }

    .workspace,
    .sidebar.collapsed + .workspace {
        margin-left: 78px !important;
        width: calc(100% - 78px) !important;
    }

    .brand {
        justify-content: center;
        padding: 12px 8px;
    }

    .brand-text,
    .menu-search,
    .menu-group-title span:first-child,
    .menu-item span {
        display: none !important;
    }

    .sidebar-collapse {
        display: none;
    }

    .menu-group-title {
        justify-content: center;
        margin: 10px 6px 4px;
        width: calc(100% - 12px);
    }

    .menu-item {
        justify-content: center;
        margin: 8px 10px;
        padding: 12px 8px;
    }

    .content {
        padding: 16px;
    }

    .topbar {
        height: auto;
        min-height: 64px;
        padding: 10px;
        gap: 8px;
        flex-wrap: wrap;
    }

    .branch-form select,
    .branch-fixed {
        min-width: 130px;
        max-width: 160px;
    }

    .btn,
    .top-icon {
        min-height: 38px;
    }

    .grid-4,
    .grid-3,
    .grid-2,
    .form-grid {
        grid-template-columns: 1fr !important;
    }

    .hero {
        padding: 22px;
    }

    .wizard-tabs,
    .step-progress {
        overflow-x: auto;
    }

    .wizard-footer {
        flex-wrap: wrap;
        position: sticky;
        bottom: 0;
    }

    .step-progress {
        order: -1;
        width: 100%;
    }
}

/* ==========================================================
   AJUSTES PUNTUALES - PULIDO FINAL SOLICITADO
   Mantiene la base estable y corrige sólo interfaz/backup.
========================================================== */

/* Buscador de mascotas: mismo estilo que el ejemplo enviado. */
.toolbar{
    align-items:center;
    gap:14px;
    padding:18px 20px;
}
.toolbar input[type="search"]{
    flex:1;
    height:46px;
    border-radius:12px;
    padding-left:18px;
}
.toolbar select{
    width:230px;
    height:46px;
}

/* Tarjetas del dashboard simétricas y con icono bien alineado. */
.dashboard-kpis .kpi-card{
    min-height:142px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.kpi-text{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.kpi-text strong{
    font-size:32px;
    line-height:1;
}
.kpi-text small{
    font-weight:800;
    color:var(--green);
}
.kpi-icon{
    width:56px;
    height:56px;
    min-width:56px;
    border-radius:16px;
    display:grid;
    place-items:center;
    background:#eef4ff;
    color:var(--blue);
}
.kpi-icon svg{
    width:22px!important;
    height:22px!important;
}
.tone-warning .kpi-icon{background:#fff7dc;color:#b77900;}
.tone-danger .kpi-icon{background:#fee2e2;color:#dc2626;}
.tone-info .kpi-icon{background:#e6fffb;color:var(--primary);}

/* Nueva gráfica tipo indicadores: más útil que la barra antigua por especie. */
.metric-list{
    display:flex;
    flex-direction:column;
    gap:16px;
}
.metric-row{
    display:grid;
    grid-template-columns:170px 1fr 40px;
    gap:14px;
    align-items:center;
}
.metric-row span{
    color:var(--text);
    font-weight:700;
}
.metric-row b{
    text-align:right;
}
.metric-track{
    height:12px;
    border-radius:999px;
    background:#e9eff7;
    overflow:hidden;
}
.metric-track i{
    display:block;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,var(--primary),var(--blue));
}

/* Calendario clínico compacto. */
.calendar-mini{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:8px;
}
.calendar-day{
    min-height:52px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    background:#f5f8fc;
    border:1px solid var(--line);
    font-weight:800;
}
.calendar-day.has-event{
    background:#ecfdf5;
    color:#047857;
    border-color:#9ce8c4;
}
.calendar-day small{
    font-size:10px;
    font-weight:600;
}

/* Menú colapsado: iconos centrados, sin textos ni flechas. */
body.sidebar-collapsed{
    --sidebar-width:76px;
}
body.sidebar-collapsed .sidebar{
    width:76px;
}
body.sidebar-collapsed .workspace{
    margin-left:76px;
    width:calc(100% - 76px);
}
body.sidebar-collapsed .brand{
    justify-content:center;
    padding:14px 8px;
}
body.sidebar-collapsed .brand-text,
body.sidebar-collapsed .menu-search,
body.sidebar-collapsed .menu-group-title span,
body.sidebar-collapsed .menu-item span{
    display:none!important;
}
body.sidebar-collapsed .sidebar-collapse{
    position:absolute;
    top:18px;
    right:14px;
}
body.sidebar-collapsed .menu-group-title{
    height:10px;
    padding:0;
    margin:10px 0 0;
    pointer-events:none;
}
body.sidebar-collapsed .menu-group-body{
    display:flex!important;
    flex-direction:column;
    align-items:center;
    gap:8px;
}
body.sidebar-collapsed .menu-item{
    width:48px;
    height:48px;
    padding:0;
    margin:4px auto;
    justify-content:center;
    border-radius:14px;
}
body.sidebar-collapsed .menu-item.active{
    background:#eef4ff;
}

/* Modo oscuro negro real, incluyendo scroll y sidebar. */
.dark{
    --bg:#0b0f14;
    --card:#14181f;
    --line:#27303b;
    --text:#f6f8fb;
    --muted:#aab4c2;
    --sidebar:#111827;
    --sidebar-text:#ffffff;
}
.dark body,
body.dark{
    background:#0b0f14;
}
.dark .sidebar,
.dark .topbar,
.dark .card,
.dark .table-card,
.dark .doc-card,
.dark .login-card{
    background:#14181f;
    border-color:#27303b;
}
.dark .sidebar{
    background:#111827;
}
.dark .menu-item{
    color:#e5e7eb;
}
.dark .menu-item.active,
.dark .menu-item:hover{
    background:#eef4ff;
    color:#0f3b80;
}
.dark .form-control,
.dark input,
.dark select,
.dark textarea{
    background:#0b0f14;
    color:#f6f8fb;
    border-color:#334155;
}
.dark .calendar-day,
.dark .metric-track{
    background:#0f141b;
}
.dark .hero{
    background:#14181f;
}

/* Scroll uniforme. */
*::-webkit-scrollbar{
    width:10px;
    height:10px;
}
*::-webkit-scrollbar-track{
    background:transparent;
}
*::-webkit-scrollbar-thumb{
    background:#94a3b8;
    border-radius:999px;
    border:2px solid transparent;
    background-clip:content-box;
}
.dark *::-webkit-scrollbar-thumb{
    background:#475569;
    border:2px solid transparent;
    background-clip:content-box;
}

/* Móvil: dashboard simétrico y compacto. */
@media(max-width:900px){
    .toolbar{
        flex-direction:column;
        align-items:stretch;
    }
    .toolbar select{
        width:100%;
    }
    .dashboard-kpis{
        grid-template-columns:1fr!important;
    }
    .dashboard-kpis .kpi-card{
        min-height:128px;
    }
    .metric-row{
        grid-template-columns:1fr;
        gap:6px;
    }
    .calendar-mini{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

/* ==========================================================
   V11.1 - Pulido de interacción, tipografía fina y módulos nuevos
   Estos cambios son puntuales sobre la base funcional existente.
========================================================== */

body {
    font-weight: 400;
}

h1, h2, h3,
.row-title,
.brand-title {
    font-weight: 650 !important;
    letter-spacing: -0.02em;
}

.btn {
    padding: 9px 14px;
    font-weight: 650;
    border-radius: 12px;
}

.btn-small {
    padding: 6px 10px;
    font-size: 12px;
}

/* Campanita con notificación pendiente. */
.top-icon.has-notification {
    color: #b91c1c;
    background: #fee2e2;
}

.top-icon.has-notification .sv-icon {
    color: #b91c1c;
}

.dark .top-icon.has-notification {
    color: #facc15;
    background: #302b12;
}

.dark .top-icon.has-notification .sv-icon {
    color: #facc15;
}

/* Formularios de usuarios: sucursales juntas y adaptables. */
.check-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px 14px;
    padding: 10px 0;
}

.check-grid label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
}

.dark .check-grid label {
    background: #111419;
}

/* Expediente: tarjetas con iconos finos y simétricos. */
.pet-metrics .pet-metric {
    display: grid;
    gap: 8px;
    min-height: 150px;
}

.pet-metric > .sv-icon {
    width: 38px !important;
    height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
    padding: 9px;
    border-radius: 14px;
    background: #eef4ff;
    color: var(--blue);
}

.pet-metric span {
    color: var(--muted);
    font-size: 13px;
}

.pet-metric strong {
    font-size: 18px;
    font-weight: 650;
}

/* Línea de historial clínico completo. */
.timeline {
    display: grid;
    gap: 14px;
}

.timeline-item {
    display: grid;
    grid-template-columns: 16px 1fr;
    gap: 12px;
    align-items: start;
}

.timeline-dot {
    width: 10px;
    height: 10px;
    margin-top: 6px;
    border-radius: 999px;
    background: var(--primary);
    box-shadow: 0 0 0 4px rgba(14,165,163,.14);
}

.timeline-item h3 {
    margin: 0 0 4px;
    font-size: 15px;
}

.timeline-item p {
    margin: 0;
    color: var(--muted);
}

/* Citas y documentos: filtros ordenados. */
.toolbar-clean {
    align-items: center;
}

.toolbar-clean select,
.toolbar-clean input[type="date"] {
    max-width: 260px;
}

/* Mini gráfica mensual del dashboard. */
.mini-chart {
    display: flex;
    align-items: end;
    justify-content: space-around;
    gap: 12px;
    min-height: 210px;
    padding-top: 20px;
}

.mini-chart-bar {
    flex: 1;
    min-width: 70px;
    display: grid;
    align-items: end;
    justify-items: center;
    gap: 8px;
    color: inherit;
}

.mini-chart-bar i {
    width: 42px;
    border-radius: 12px 12px 4px 4px;
    background: linear-gradient(180deg, #9333ea, var(--primary));
    box-shadow: 0 10px 20px rgba(15,23,42,.12);
}

.mini-chart-bar span {
    font-size: 12px;
    color: var(--muted);
    text-align: center;
}

.mini-chart-bar b {
    font-weight: 650;
}

.kpi-mini {
    display: grid;
    gap: 8px;
}

.kpi-mini span {
    color: var(--muted);
}

.kpi-mini strong {
    font-size: 28px;
    font-weight: 650;
}

/* Documentos. */
.doc-icon .sv-icon {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    padding: 8px;
    border-radius: 12px;
    background: #eef4ff;
    color: var(--blue);
}

.doc-card .actions {
    flex-wrap: wrap;
}

/* Editor de plantillas HTML. */
.code-editor {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
    line-height: 1.45;
}

/* Menú colapsado más limpio y centrado. */
.sidebar.collapsed .menu-group-title {
    display: none;
}

.sidebar.collapsed .menu-group-body {
    display: grid;
    gap: 8px;
    padding-top: 6px;
}

.sidebar.collapsed .menu-item {
    width: 50px;
    height: 50px;
    margin: 5px auto;
    border-radius: 16px;
}

/* Responsive: tarjetas y gráficas cómodas en móvil. */
@media (max-width: 900px) {
    .dashboard-kpis {
        grid-template-columns: 1fr !important;
    }

    .mini-chart {
        min-height: 180px;
        overflow-x: auto;
        justify-content: flex-start;
    }

    .mini-chart-bar {
        min-width: 86px;
    }

    .toolbar-clean {
        align-items: stretch;
    }

    .toolbar-clean select,
    .toolbar-clean input[type="date"] {
        max-width: none;
    }

    .pet-metrics .pet-metric {
        min-height: auto;
    }
}

/* Ajustes clínicos V11: medicamentos múltiples, alergias y fichas técnicas. */
.medicine-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr auto;gap:10px;margin-bottom:10px;align-items:center}
.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}
.check-grid label{display:flex;align-items:center;gap:8px;font-weight:500!important;color:var(--text)!important}
.record-box{border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;background:#fff}
.compact-list{margin:8px 0 10px 18px;color:var(--muted)}
.dark .check-grid,.dark .record-box{background:#14171d;border-color:#29303a}
@media(max-width:900px){.medicine-row{grid-template-columns:1fr}.medicine-row .btn{width:100%}}


/* ==========================================================
   AJUSTES V11 CONSOLIDADOS - pulido visual, móvil y dashboard
========================================================== */

/* Tipografía más fina y elegante */
body, input, select, textarea, button { font-weight: 400; }
h1,h2,h3,h4,.page-title h1,.brand-title,.menu-item,.menu-group-title,.row-title,strong,b,label,th,.btn { font-weight: 500 !important; }
.muted,.brand-subtitle,.page-title p { font-weight: 400 !important; }

/* Logo dinámico */
.brand-mark { overflow:hidden; font-weight:500 !important; }
.brand-logo-img { width:100%; height:100%; object-fit:contain; padding:4px; }

/* Topbar con iconos limpios */
.topbar { gap:10px; }
.top-icon.icon-only { background:transparent; border:0; box-shadow:none; color:var(--text); width:38px; height:38px; border-radius:14px; }
.top-icon.icon-only:hover { background:#eef4ff; }
.top-icon.has-notification { color:var(--red); background:transparent; }
.top-icon.has-notification span { position:absolute; top:2px; right:2px; min-width:17px; height:17px; padding:0 4px; border-radius:99px; background:#fee2e2; color:#b91c1c; display:grid; place-items:center; font-size:11px; line-height:1; }

/* Menú móvil */
.mobile-menu-btn,.mobile-sidebar-close { display:none; border:0; background:#eef4ff; color:var(--text); width:42px; height:42px; border-radius:14px; font-size:20px; }
.menu-group-title span:last-child { opacity:.65; }
.sidebar.collapsed .menu-group-title span:last-child { display:none; }

/* Controles y checks responsivos */
.check-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; }
.check-grid label { min-height:48px; display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:14px; padding:12px 14px; background:#fff; }
.check-grid input[type="checkbox"] { width:16px; height:16px; }

/* Documentos */
.doc-type { display:inline-flex; margin-bottom:10px; padding:4px 9px; border-radius:99px; background:#eefcf8; color:var(--primary); font-size:12px; }

/* Tarjetas KPI como mini reportes */
.kpi-card,.metric-card,.dashboard-card { cursor:pointer; }
.kpi-card:hover,.metric-card:hover,.dashboard-card:hover,.doc-card:hover,.pet-metric:hover { transform:translateY(-2px); box-shadow:0 16px 34px rgba(15,23,42,.10); }
.kpi-card .green,.metric-card .green,.report-link { color:var(--green); font-weight:500 !important; }

/* Reemplazo visual de degradados pesados por sólido elegante */
.hero-card,.welcome-card { background:var(--primary) !important; background-image:none !important; color:#fff; }

/* Móvil: expediente y dashboard */
@media (max-width: 780px) {
  .workspace { margin-left:72px; width:calc(100% - 72px); }
  .content { padding:16px 14px; }
  .topbar { min-height:62px; padding:8px 10px; gap:6px; }
  .mobile-menu-btn { display:grid; place-items:center; }
  .sidebar { width:72px; }
  .sidebar .brand { justify-content:center; padding:10px 8px; height:72px; }
  .sidebar .brand-text,.sidebar .menu-search { display:none; }
  .sidebar .menu-item { justify-content:center; padding:12px 8px; }
  .sidebar .menu-item span,.sidebar .menu-group-title span { display:none; }
  .sidebar .menu-group-title { height:18px; padding:0; justify-content:center; }
  .sidebar .menu-group-title::after { content:''; width:4px; height:4px; border-radius:50%; background:#cbd5e1; }
  .sidebar-collapse { display:none !important; }
  .mobile-sidebar-close { display:none; }

  body.sidebar-mobile-open .sidebar { width:280px; box-shadow:0 20px 60px rgba(15,23,42,.24); }
  body.sidebar-mobile-open .sidebar .brand { justify-content:flex-start; padding:16px 18px; height:82px; }
  body.sidebar-mobile-open .sidebar .brand-text,
  body.sidebar-mobile-open .sidebar .menu-search,
  body.sidebar-mobile-open .sidebar .menu-item span,
  body.sidebar-mobile-open .sidebar .menu-group-title span { display:flex; }
  body.sidebar-mobile-open .sidebar .menu-item { justify-content:flex-start; padding:14px 18px; }
  body.sidebar-mobile-open .sidebar .menu-group-title { height:auto; padding:14px 18px; justify-content:space-between; }
  body.sidebar-mobile-open .sidebar .menu-group-title::after { display:none; }
  body.sidebar-mobile-open .mobile-sidebar-close { display:grid; place-items:center; }

  .page-head { gap:12px; align-items:flex-start; }
  .page-head .actions,.pet-hero-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-start; }
  .btn { padding:10px 14px; font-size:13px; border-radius:12px; }
  .grid-4.pet-metrics { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px; }
  .pet-metric { min-height:112px; padding:16px !important; }
  .pet-metric svg { width:18px!important; height:18px!important; }
  .pet-metric strong { font-size:16px !important; }
  .tabs { overflow-x:auto; flex-wrap:nowrap; padding-bottom:4px; }
  .tabs a { white-space:nowrap; padding:10px 13px; font-size:13px; }

  .calendar-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .calendar-day { min-height:52px !important; }
  .dashboard-grid,.grid,.grid-2,.grid-3,.grid-4 { grid-template-columns:1fr !important; }
  .toolbar { grid-template-columns:1fr !important; }
  .doc-grid { grid-template-columns:1fr !important; }
  table { font-size:13px; }
}

/* Desktop: botón móvil oculto */
@media (min-width: 781px) {
  .mobile-menu-btn { display:none !important; }
}


/* ==========================================================
   V11 UX/LAB - Correcciones consolidadas reales
   - En móvil el sidebar se oculta por completo.
   - Topbar con campana + badge, perfil desplegable y tema claro/oscuro.
   - Dashboard/calendario/gráfica y expediente responsivos.
========================================================== */
.top-icon{position:relative;font-weight:500!important}
.notification-btn .notification-badge{
  position:absolute;top:-4px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;
  background:#ef4444;color:#fff;font-size:10px;font-weight:600!important;display:grid;place-items:center;line-height:1;
  box-shadow:0 2px 8px rgba(239,68,68,.25)
}
.top-profile{position:relative;display:flex;align-items:center}
.top-avatar{
  width:38px;height:38px;border:0;border-radius:14px;background:#eef4ff;color:#2563eb;font-weight:600!important;cursor:pointer
}
.profile-menu{
  display:none;position:absolute;right:0;top:48px;z-index:80;width:210px;background:var(--card);border:1px solid var(--line);
  border-radius:16px;box-shadow:var(--shadow);padding:10px
}
.profile-menu.open{display:block}
.profile-menu strong{display:block;padding:9px 10px;border-bottom:1px solid var(--line);margin-bottom:6px;font-weight:500!important}
.profile-menu a{display:block;padding:10px;border-radius:10px;color:var(--text)}
.profile-menu a:hover{background:#eef4ff}
.theme-toggle{font-size:18px}
.dark .profile-menu a:hover,.dark .top-icon.icon-only:hover{background:#1f2937}

/* PDF/laboratorio */
.lab-template-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;grid-column:1/-1}
.lab-template-hint{grid-column:1/-1;color:var(--muted);font-size:13px;margin-top:-8px}

/* Expediente simétrico */
.pet-header{display:flex;align-items:center;gap:18px;overflow:hidden}
.pet-header .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pet-header h1{font-weight:500!important}
.pet-metric{min-height:120px}

/* Calendario y gráfico */
.calendar-mini{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));overflow:hidden}
.mini-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:14px;align-items:end;overflow:hidden}
.mini-chart-bar{min-width:0;text-align:center}
.mini-chart-bar i{background:var(--primary)!important;background-image:none!important}

/* Móvil real: menú oculto, contenido full width */
@media (max-width:780px){
  .app-shell{display:block}
  .workspace{margin-left:0!important;width:100%!important;min-width:0}
  .sidebar{
    position:fixed!important;left:0;top:0;bottom:0;width:min(86vw,320px)!important;z-index:100;
    transform:translateX(-105%)!important;transition:transform .22s ease;background:var(--sidebar);
    box-shadow:0 22px 70px rgba(15,23,42,.26);overflow-y:auto
  }
  body.sidebar-mobile-open .sidebar{transform:translateX(0)!important}
  .sidebar .brand{justify-content:flex-start!important;padding:16px!important;height:auto!important}
  .sidebar .brand-text,.sidebar .menu-search,.sidebar .menu-item span,.sidebar .menu-group-title span{display:flex!important}
  .sidebar .menu-item{justify-content:flex-start!important;padding:13px 16px!important}
  .sidebar .menu-group-title{height:auto!important;padding:12px 16px!important;justify-content:space-between!important}
  .sidebar .menu-group-title::after{display:none!important}
  .mobile-sidebar-close{display:grid!important;place-items:center;flex:0 0 38px;width:38px;height:38px}
  .sidebar-collapse{display:none!important}
  .mobile-menu-btn{display:grid!important;place-items:center;flex:0 0 40px;width:40px;height:40px}
  .brand-mark{width:42px;height:42px;flex:0 0 42px}
  body.sidebar-mobile-open::before{
    content:'';position:fixed;inset:0;background:rgba(15,23,42,.28);z-index:90
  }

  .topbar{position:sticky;top:0;z-index:70;min-height:60px;padding:8px 10px;gap:8px}
  .branch-form select{min-width:118px;max-width:135px;height:38px;font-size:12px}
  .top-icon.icon-only,.top-avatar{width:34px;height:34px;border-radius:12px}
  .content{padding:16px 12px}
  .page-title h1{font-size:24px}
  .hero-card,.welcome-card{border-radius:16px;padding:22px 18px!important}
  .grid.grid-4.dashboard-kpis{grid-template-columns:1fr!important}
  .stat{min-height:auto!important}

  .calendar-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .calendar-day{min-height:48px!important;padding:8px!important}
  .mini-chart{grid-template-columns:1fr!important;gap:10px;align-items:stretch}
  .mini-chart-bar{display:grid!important;grid-template-columns:1fr 54px 32px;align-items:center;text-align:left;gap:8px;padding:8px 0}
  .mini-chart-bar i{height:10px!important;width:100%;border-radius:999px}
  .mini-chart-bar span{font-size:12px}
  .mini-chart-bar b{text-align:right}

  .pet-header{display:grid!important;grid-template-columns:64px 1fr;gap:12px;align-items:start}
  .pet-header .pet-photo{grid-row:1/3}
  .pet-header .actions{grid-column:1/-1;justify-content:flex-start!important}
  .pet-header .actions .btn{flex:1 1 110px;max-width:150px}
  .grid-4.pet-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .pet-metric{min-height:auto!important;padding:14px!important}
  .pet-metric strong{font-size:15px!important}
  .tabs{overflow-x:auto;flex-wrap:nowrap}
  .tabs a{white-space:nowrap}
  .check-grid{grid-template-columns:1fr!important}
  .form-grid{grid-template-columns:1fr!important}
}

/* ==========================================================
   V11 FIX FINAL - responsive real, PDF/laboratorio y simetría
========================================================== */
.color-dot{display:inline-block;width:16px;height:16px;border-radius:50%;vertical-align:middle;border:1px solid var(--line)}
.top-icon.icon-only{position:relative;overflow:visible!important}.notification-btn .notification-badge{top:-7px!important;right:-8px!important;min-width:20px;height:20px;font-size:10px;background:#ef4444!important;color:#fff!important}.profile-menu{font-weight:400}.profile-menu a{font-weight:400!important}.theme-toggle{font-size:19px!important}
.welcome-card{padding:26px!important;border-radius:18px!important}.dashboard-kpis .card{padding:22px!important;min-height:132px}.dashboard-kpis .stat strong{font-size:28px!important}.dashboard-kpis .stat .sv-icon{width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important;padding:12px}.dashboard-kpis small{color:var(--green);font-weight:500!important}.calendar-mini{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important}.calendar-day{min-height:44px!important;display:grid;place-items:center;text-align:center}.mini-chart{min-height:175px!important}.mini-chart-bar i{background:var(--primary)!important;background-image:none!important}.pet-header.card{padding:24px!important}.pet-header .actions{margin-left:auto}.pet-metric{min-height:132px!important;padding:22px!important}.pet-metric strong{font-size:20px!important}.pet-metric .muted{font-size:13px}.lab-template-fields .form-group{min-width:0}
@media(max-width:780px){
  .sidebar{transform:translateX(-110%)!important;width:min(88vw,310px)!important}.workspace{margin-left:0!important;width:100%!important}.content{padding:14px 10px!important}.topbar{padding:6px 8px!important;gap:6px!important}.branch-form select{min-width:112px!important;max-width:126px!important}.top-icon.icon-only,.top-avatar,.mobile-menu-btn{width:34px!important;height:34px!important;border-radius:11px!important}.top-spacer{flex:.4}.page-head{margin-bottom:14px}.page-title h1{font-size:24px!important}.card{border-radius:16px!important}.welcome-card{padding:22px 18px!important}.dashboard-kpis{grid-template-columns:1fr!important;gap:12px!important}.dashboard-kpis .card{min-height:108px!important;padding:18px!important}.dashboard-kpis .stat strong{font-size:25px!important}.grid.grid-2{grid-template-columns:1fr!important;gap:12px!important}.calendar-mini{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}.calendar-day{min-height:38px!important;font-size:12px!important;padding:4px!important;border-radius:10px!important}.calendar-day small{font-size:9px!important;line-height:1.1}.mini-chart{display:grid!important;grid-template-columns:1fr!important;min-height:auto!important;padding-top:0!important;gap:8px!important}.mini-chart-bar{display:grid!important;grid-template-columns:86px 1fr 28px!important;gap:8px!important;align-items:center!important;text-align:left!important}.mini-chart-bar i{width:100%!important;height:10px!important;border-radius:99px!important}.mini-chart-bar span{font-size:12px!important}.mini-chart-bar b{text-align:right!important}.pet-header.card{display:grid!important;grid-template-columns:56px 1fr!important;gap:10px!important;padding:18px!important;align-items:start!important}.pet-header .pet-photo{width:56px!important;height:56px!important;border-radius:16px!important;font-size:28px!important;grid-row:1/3}.pet-header h1{font-size:24px!important;margin:0 0 8px!important}.pet-header .actions{grid-column:1/-1!important;margin-left:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;width:100%;gap:8px}.pet-header .actions .btn{max-width:none!important;width:100%;padding:9px 10px!important}.grid-4.pet-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.pet-metric{min-height:92px!important;padding:13px!important}.pet-metric .sv-icon{width:18px!important;height:18px!important}.pet-metric strong{font-size:14px!important}.pet-metric .muted{font-size:11px!important}.tabs a{font-size:12px!important;padding:9px 11px!important}.form-grid,.lab-template-fields{grid-template-columns:1fr!important}.check-grid{grid-template-columns:1fr!important}.check-grid label{min-height:42px!important;padding:10px!important}.table-card table{min-width:720px}.profile-menu{right:-4px;width:190px}.doc-grid{grid-template-columns:1fr!important}
}

/* ==========================================================
   Corrección UX/PDF clínica solicitada - misma versión V11
========================================================== */
body{font-weight:400}.page-title h1,h1,h2,h3,.row-title,.brand-title,.menu-item,.tabs a,.form-group label{font-weight:500!important}.badge{font-weight:500!important}
.brand-logo-img{width:54px;height:54px;object-fit:contain;border-radius:14px}.brand-mark{overflow:hidden}.topbar{gap:10px}.notification-btn{position:relative}.notification-badge{position:absolute;top:5px;right:4px;min-width:18px;height:18px;border-radius:999px;background:#ef4444;color:white;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 4px;border:2px solid #fff}.dark .notification-badge{border-color:#14171d}.theme-toggle{font-size:19px}.top-profile{position:relative}.profile-menu{display:none;position:absolute;right:0;top:48px;z-index:60;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);min-width:190px;padding:10px}.profile-menu.open{display:block}.profile-menu strong,.profile-menu a{display:block;padding:9px 10px;border-radius:10px}.profile-menu a:hover{background:#f3f7fb}.dark .profile-menu{background:#15181d;border-color:#29303a}.mobile-menu-btn{display:none}
.pet-header{align-items:center;min-height:auto}.pet-header h1{margin:0 0 10px}.pet-header-actions{margin-left:auto;display:flex;flex-wrap:wrap}.pet-metric{padding:18px!important;min-height:112px!important}.pet-metric .sv-icon{width:34px!important;height:34px!important;padding:8px!important}.pet-metric span{font-size:12px}.pet-metric strong{font-size:20px!important}.record-box{border:1px solid var(--line);border-radius:16px;padding:14px;margin:12px 0;background:#fff}.dark .record-box{background:#15181d}.compact-list{margin:8px 0 0;padding-left:18px}.table-card table{font-weight:400}.grid.dashboard-main{align-items:stretch}.dashboard-kpis .card{padding:18px;min-height:108px}.kpi-card strong{font-size:28px!important}.kpi-icon .sv-icon{width:42px!important;height:42px!important;padding:10px!important}.calendar-card,.chart-card{overflow:hidden}.compact-head{align-items:center;gap:10px}.calendar-month{margin-top:-8px;margin-bottom:10px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;font-size:11px;color:var(--muted);margin-bottom:6px}.real-calendar{grid-template-columns:repeat(7,1fr)!important;gap:5px}.real-calendar .calendar-day{min-height:34px;padding:5px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px}.real-calendar .calendar-day.empty{background:transparent;border:0}.real-calendar .calendar-day.today{background:#e0f7f5;border-color:var(--primary);color:var(--primary)}.real-calendar .calendar-day small{font-size:9px;line-height:1}.compact-chart{height:230px;align-items:end;display:flex;gap:16px;justify-content:space-around}.mini-chart-bar{min-width:58px;display:flex;flex-direction:column;align-items:center;gap:6px}.mini-chart-bar i{width:34px;border-radius:10px;background:var(--primary);display:block}.mini-chart-bar span{font-size:11px;text-align:center;color:var(--muted)}.mini-chart-bar b{font-size:16px}.birthday-box{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.birthday-box h3{font-size:15px;margin:0 0 8px}.birthday-box p{margin:6px 0;font-size:13px}
.lab-template-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;grid-column:1/-1}.lab-template-fields .form-group{margin:0}.lab-template-fields textarea{min-height:82px}.form-control, input, select, textarea{font-weight:400!important}.btn{font-weight:500!important;padding:10px 14px!important}.btn-small{padding:7px 10px!important}
@media(max-width:900px){.mobile-menu-btn{display:grid}.sidebar{transform:translateX(-110%)!important;width:270px!important;min-width:270px!important;z-index:80}.workspace,.sidebar.collapsed+.workspace{margin-left:0!important;width:100%!important}.sidebar-mobile-open .sidebar{transform:translateX(0)!important;box-shadow:0 0 0 100vmax rgba(15,23,42,.35)}.brand-text,.menu-search,.menu-group-title span:first-child,.menu-item span{display:block!important}.menu-item{justify-content:flex-start!important;margin:6px 12px!important}.menu-group-title{justify-content:space-between!important}.mobile-sidebar-close{display:grid!important}.grid-4.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-kpis .card{min-height:92px;padding:14px}.kpi-card strong{font-size:22px!important}.grid.dashboard-main{grid-template-columns:1fr!important}.compact-chart{height:190px;gap:8px}.mini-chart-bar{min-width:44px}.mini-chart-bar i{width:28px}.pet-header{flex-direction:row;flex-wrap:wrap;gap:12px}.pet-photo{width:62px!important;height:62px!important;border-radius:18px!important;font-size:32px!important}.pet-header-actions{width:100%;justify-content:flex-start;margin-left:0}.pet-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pet-metric{min-height:92px!important;padding:14px!important}.pet-metric strong{font-size:18px!important}.tabs{padding:6px;gap:6px}.tabs a{padding:8px 10px;font-size:12px}.lab-template-fields{grid-template-columns:1fr!important}.table-card table{min-width:680px}.topbar{flex-wrap:nowrap}.branch-form select{max-width:140px}.notification-badge{top:2px;right:0}}
@media(max-width:520px){.grid-4.dashboard-kpis{grid-template-columns:1fr 1fr!important}.pet-metrics{grid-template-columns:1fr 1fr!important}.real-calendar .calendar-day{min-height:30px;font-size:11px}.calendar-weekdays{gap:3px}.compact-chart{height:170px}.mini-chart-bar span{font-size:10px}.content{padding:12px!important}.card{border-radius:16px!important}.page-head{gap:8px}.pet-header-actions .btn{flex:1;text-align:center}}


/* Corrección fina V11: formularios clínicos, PDF y expediente compacto */
.lab-template-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:10px;grid-column:1/-1}
.lab-section-title{grid-column:1/-1;margin:10px 0 0;padding:8px 10px;border-left:4px solid var(--primary);background:#f4fbfa;border-radius:10px;font-weight:500;color:var(--primary)}
.lab-field-compact textarea.form-control{min-height:54px!important;height:54px!important}
.lab-field-compact input.form-control{height:42px!important;min-height:42px!important;padding:10px 13px!important}
.referral-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;grid-column:1/-1;padding:12px;border:1px dashed var(--line);border-radius:16px;background:#f8fbff}
.notification-btn{position:relative;margin-left:2px!important;margin-right:2px!important}.notification-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;line-height:18px;text-align:center;font-weight:600;padding:0 4px;border:2px solid #fff}.dark .notification-badge{border-color:#111418}
.pet-metrics.compact-pet-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.pet-metric{padding:14px!important;min-height:96px!important}.pet-metric .sv-icon{width:30px!important;height:30px!important;padding:7px!important}.pet-metric strong{font-size:18px!important}.pet-metric small{font-size:11px}.pet-header{padding:18px!important}.pet-photo{width:70px!important;height:70px!important}.pet-photo img,.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.pet-header-actions{gap:8px}.species-avatar{font-size:22px;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
@media(max-width:780px){.pet-header{display:flex;gap:12px;align-items:center}.pet-header-actions{width:100%;justify-content:flex-start;margin-left:0}.pet-metrics.compact-pet-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pet-metric{min-height:86px!important;padding:12px!important}.pet-metric strong{font-size:16px!important}.calendar-card{max-width:100%;overflow:hidden}.real-calendar .calendar-day{min-height:30px!important;padding:3px!important;border-radius:8px}.compact-chart{height:190px!important;gap:8px}.mini-chart-bar{min-width:42px}.mini-chart-bar i{width:28px}.mini-chart-bar span{font-size:10px}.table-card{overflow-x:auto}}


/* Funciones sistema: buscador global, NFC móvil, permisos y expediente compacto */
.global-search{position:relative;min-width:280px;max-width:420px;flex:1}.global-search input{width:100%;height:38px;border:1px solid var(--line);border-radius:14px;padding:0 14px;background:var(--card);color:var(--text)}.global-search-results{display:none;position:absolute;right:0;top:44px;width:min(460px,90vw);background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);z-index:100;padding:8px}.global-search-results.open{display:block}.search-result{display:block;padding:10px;border-radius:12px;color:inherit;text-decoration:none}.search-result:hover{background:rgba(14,165,163,.10)}.search-result b,.search-result span,.search-result small{display:block}.search-result small,.search-empty{color:var(--muted);padding:10px}.mobile-only{display:none}.modal-lite{display:none;position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:9999;align-items:center;justify-content:center;padding:18px}.modal-lite.open{display:flex}.modal-card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);width:min(460px,100%);padding:22px;position:relative}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:28px;color:var(--muted)}.nfc-result .form-control{margin:12px 0}.nfc-pet-card{border:1px solid var(--line);border-radius:16px;padding:14px;margin-top:12px}.nfc-pet-card h3{margin:0 0 6px}.identification-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.identification-chip{border:1px solid var(--line);border-radius:16px;padding:12px;background:rgba(14,165,163,.06)}.case-monitor{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.case-monitor span{display:block;font-size:12px;color:var(--muted)}.case-monitor b{font-size:18px}.case-status-critical{color:#dc2626}.case-status-stable{color:#16a34a}.theme-preview{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(14,165,163,.06)}
@media(max-width:900px){.mobile-only{display:grid}.global-search{min-width:0;max-width:none;flex:1}.global-search input{height:34px;font-size:12px}.topbar{gap:6px}.branch-form{display:none}.nfc-scan-btn{display:grid!important}.global-search-results{right:-58px}.top-icon.icon-only{min-width:36px}}

/* Corrección navegación menú móvil */
@media(max-width:900px){.sidebar{z-index:9999!important;pointer-events:auto!important}.sidebar *{pointer-events:auto!important}.sidebar-mobile-open .sidebar{transform:translateX(0)!important}.workspace{position:relative;z-index:1}.menu-item{position:relative;z-index:10000}.mobile-sidebar-close{display:grid!important}}

/* ==========================================================
   V11 UX PROFESIONAL - Iconos SVG, móvil/PC y configuración
   - Sin emojis en navegación, NFC ni expediente.
   - Menú móvil ancho y navegable.
   - Topbar compacta con botón NFC.
   - Configuración dividida por secciones con botón guardar.
========================================================== */
:root{
  --primary-soft: color-mix(in srgb, var(--primary) 12%, white);
  --primary-soft-2: color-mix(in srgb, var(--primary) 20%, white);
}
.sv-icon{fill:currentColor;display:inline-block;vertical-align:middle;flex:0 0 auto}.menu-chevron .sv-icon{width:15px;height:15px}.sidebar-collapse .sv-icon,.mobile-menu-btn .sv-icon,.mobile-sidebar-close .sv-icon{width:20px;height:20px}.top-icon .sv-icon{width:20px;height:20px}.theme-toggle{font-size:0!important}.theme-toggle .sv-icon{width:19px;height:19px}.modal-close{display:grid;place-items:center;width:34px;height:34px;border-radius:12px}.modal-close .sv-icon{width:18px;height:18px}.species-avatar{font-size:0}.species-avatar .sv-icon{width:24px;height:24px;color:var(--primary)}

/* Topbar limpio: NFC pequeño y visible en móvil/PC */
.topbar{position:sticky;top:0;z-index:50;background:var(--card);border-bottom:1px solid var(--line);gap:8px}.top-spacer{flex:1}.nfc-scan-btn{display:grid!important;background:var(--primary-soft)!important;color:var(--primary)!important;border:1px solid var(--primary-soft-2)!important}.nfc-scan-btn:hover{background:var(--primary)!important;color:#fff!important}.top-icon.icon-only{display:grid;place-items:center;min-width:40px;width:40px;height:40px}.branch-form select{height:40px}.notification-btn .notification-badge{top:-6px;right:-4px;border:2px solid var(--card)}

/* Sidebar profesional */
.sidebar{background:#fff!important;border-right:1px solid var(--line);color:var(--text);transition:transform .22s ease,width .2s ease}.brand{gap:10px}.brand-mark{background:var(--primary-soft);color:var(--primary);border:1px solid var(--primary-soft-2)}.sidebar-collapse,.mobile-sidebar-close,.mobile-menu-btn{background:var(--primary-soft)!important;color:var(--primary)!important;border:1px solid var(--primary-soft-2)!important}.menu-group-title{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.menu-group-title span:first-child{font-weight:600!important}.menu-item{border-radius:14px;color:#334155}.menu-item .sv-icon{width:20px;height:20px}.menu-item:hover{background:var(--primary-soft);color:var(--primary)}.menu-item.active{background:var(--primary-soft)!important;color:var(--primary)!important;box-shadow:inset 3px 0 0 var(--primary)}.dark .sidebar{background:#0b111c!important}.dark .menu-item{color:#e5e7eb}.dark .menu-group-title{color:#94a3b8}.dark .menu-item.active,.dark .menu-item:hover{background:#172033!important;color:#fff!important}

/* Configuración por secciones */
.settings-shell{display:grid;grid-template-columns:285px minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:22px;background:var(--card);overflow:hidden;box-shadow:var(--shadow)}.settings-menu{background:#f8fafc;border-right:1px solid var(--line);padding:22px}.settings-menu h3{margin:0 0 18px;font-size:18px}.settings-menu a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;color:#334155;text-decoration:none;font-weight:500;margin-bottom:6px}.settings-menu a .sv-icon{width:20px;height:20px}.settings-menu a:hover,.settings-menu a.active{background:var(--primary-soft);color:var(--primary)}.settings-content{padding:26px;display:grid;gap:20px}.settings-content.single-settings{max-width:980px;margin:0 auto}.settings-section{border:1px solid var(--line);background:#fff;border-radius:20px;padding:22px}.settings-section-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.settings-section-head>.sv-icon{width:44px;height:44px;padding:12px;border-radius:16px;background:var(--primary-soft);color:var(--primary)}.settings-section-head h2{margin:0;font-size:20px}.settings-section-head p{margin:3px 0 0;color:var(--muted)}.settings-savebar{position:sticky;bottom:12px;z-index:20;display:flex;justify-content:flex-end;gap:10px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow)}.notification-template-editor{min-height:130px}.dark .settings-shell,.dark .settings-section{background:#14171d}.dark .settings-menu{background:#111827;border-color:#29303a}.dark .settings-menu a{color:#d1d5db}.dark .settings-savebar{background:rgba(20,23,29,.88)}

/* Dashboard: colores consistentes y gráfica moderna */
.hero-card,.welcome-card{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 75%,#0f172a))!important;color:#fff!important;border:0!important}.welcome-card h2,.welcome-card p{color:#fff!important}.dashboard-kpis .kpi-card{border:1px solid var(--line);background:#fff}.kpi-icon{background:var(--primary-soft)!important;color:var(--primary)!important;border:1px solid var(--primary-soft-2);border-radius:18px}.kpi-icon .sv-icon{color:var(--primary)!important;background:transparent!important}.dashboard-kpis small,.dashboard-link small{color:var(--primary)!important;font-weight:600!important}.compact-chart{height:auto!important;min-height:245px!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));align-items:end;gap:18px;padding:14px 4px 4px}.mini-chart-bar{position:relative;min-height:190px!important;display:flex!important;flex-direction:column;justify-content:flex-end;align-items:center;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid var(--line);border-radius:18px;padding:12px 8px;text-decoration:none}.mini-chart-bar i{width:42px!important;border-radius:999px 999px 10px 10px!important;background:var(--primary)!important;box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 24%,transparent)}.mini-chart-bar span{font-size:12px!important;color:#64748b!important;margin-top:8px}.mini-chart-bar b{font-size:20px!important;color:#0f172a}.dark .dashboard-kpis .kpi-card,.dark .mini-chart-bar{background:#14171d;border-color:#29303a}.dark .mini-chart-bar b{color:#f8fafc}

/* Modal NFC */
.modal-card h2{margin-top:0}.nfc-pet-card{background:var(--primary-soft);border-color:var(--primary-soft-2)}.nfc-pet-card h3{font-size:22px;font-weight:600!important}.nfc-pet-card .actions{flex-wrap:wrap}.nfc-pet-card .btn{margin-top:4px}

/* Móvil: menú claro, ancho y navegable, no compactado extraño */
@media(max-width:900px){
  .workspace{margin-left:0!important;width:100%!important}.content{padding:16px!important}.topbar{min-height:60px;padding:8px 10px;flex-wrap:nowrap}.branch-form{display:none!important}.top-icon.icon-only{min-width:38px;width:38px;height:38px}.top-profile .top-avatar{width:38px;height:38px}.mobile-menu-btn{display:grid!important;place-items:center}.sidebar{position:fixed!important;left:0;top:0;bottom:0;width:min(86vw,310px)!important;min-width:min(86vw,310px)!important;transform:translateX(-105%)!important;z-index:9999!important;overflow-y:auto;box-shadow:0 20px 70px rgba(15,23,42,.24)}body.sidebar-mobile-open .sidebar{transform:translateX(0)!important}.sidebar .brand{justify-content:flex-start!important;padding:16px!important;height:auto!important}.brand-text,.menu-search,.menu-group-title span:first-child,.menu-item span{display:block!important}.mobile-sidebar-close{display:grid!important;place-items:center}.sidebar-collapse{display:none!important}.menu-group-title{height:auto!important;padding:12px 16px!important;margin:8px 0 4px!important;justify-content:space-between!important}.menu-group-title span{display:flex!important}.menu-item{justify-content:flex-start!important;gap:12px;margin:5px 12px!important;padding:13px 14px!important}.menu-item .sv-icon{width:20px!important;height:20px!important}.sidebar-mobile-open .sidebar{box-shadow:0 0 0 100vmax rgba(15,23,42,.42),0 20px 70px rgba(15,23,42,.24)}
  .settings-shell{grid-template-columns:1fr;border-radius:18px}.settings-menu{border-right:0;border-bottom:1px solid var(--line);padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.settings-menu h3{grid-column:1/-1;margin-bottom:6px}.settings-menu a{margin:0;padding:10px;font-size:13px}.settings-content{padding:14px;gap:14px}.settings-section{padding:16px;border-radius:16px}.settings-section-head>.sv-icon{width:38px;height:38px;padding:10px}.settings-section-head h2{font-size:18px}.settings-savebar{bottom:8px;justify-content:space-between}.settings-savebar .btn{flex:1}.compact-chart{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mini-chart-bar{min-height:155px!important}.mini-chart-bar i{width:34px!important}.hero-card,.welcome-card{padding:20px!important}.calendar-card,.chart-card{overflow:hidden}.real-calendar{gap:4px!important}.real-calendar .calendar-day{min-height:30px!important;font-size:11px!important;padding:3px!important}.form-grid{grid-template-columns:1fr!important}
}


/* ==========================================================
   Corrección UX responsive + configuración + dashboard clínico
========================================================== */
:root{--primary:#0ea5a3;--button-color:var(--primary);--menu-color:var(--primary);--accent:#334155}.btn-primary{background:var(--button-color)!important;color:#fff!important}.btn-soft{background:color-mix(in srgb,var(--primary) 10%,#fff)!important;color:#0f2a55!important}.hero,.welcome-card{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 88%,#000),color-mix(in srgb,var(--primary) 55%,#fff))!important;color:#fff!important}.welcome-card h2,.welcome-card p{color:#fff!important}.stat .sv-icon,.kpi-icon .sv-icon{color:var(--primary)!important;background:color-mix(in srgb,var(--primary) 12%,#fff)!important}.menu-item:hover,.menu-item.active{background:color-mix(in srgb,var(--menu-color) 12%,#fff)!important;color:var(--menu-color)!important}.chart-fill,.mini-chart-bar i{background:var(--primary)!important}.top-icon{background:transparent!important;border:0!important;box-shadow:none!important;color:#0f172a!important}.notification-btn{position:relative;min-width:34px!important;width:34px!important;height:34px!important}.notification-badge{position:absolute!important;top:-5px!important;right:-4px!important;background:#ef4444!important;color:#fff!important;border:2px solid #fff!important;min-width:18px!important;height:18px!important;display:grid!important;place-items:center!important;border-radius:999px!important;font-size:10px!important;padding:0 4px!important}.nfc-scan-btn{background:color-mix(in srgb,var(--primary) 9%,#fff)!important;border-radius:13px!important;color:var(--primary)!important}.nfc-label{font-size:11px;font-weight:800;margin-left:2px}.indicator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.indicator-card{display:block;border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.indicator-card span{color:var(--muted);font-size:12px}.indicator-card strong{display:block;font-size:26px;margin:4px 0;color:var(--text)}.indicator-card i{height:7px;background:#edf2f7;border-radius:999px;display:block;overflow:hidden}.indicator-card em{height:100%;display:block;background:var(--primary);border-radius:999px}.settings-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}.settings-menu{background:#f8fafc;border-right:1px solid var(--line);padding:22px}.settings-menu h3{margin:0 0 16px}.settings-menu a{display:flex;align-items:center;gap:12px;border-radius:13px;padding:12px 14px;margin-bottom:8px;color:#334155;font-weight:700}.settings-menu a.active,.settings-menu a:hover{background:color-mix(in srgb,var(--primary) 13%,#fff);color:var(--primary)}.settings-content{padding:26px;display:grid;gap:20px}.settings-section{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}.settings-section-head{display:flex;gap:14px;align-items:center;margin-bottom:18px}.settings-section-head .sv-icon{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important;padding:8px;border-radius:12px;background:color-mix(in srgb,var(--primary) 12%,#fff);color:var(--primary)}.settings-savebar{position:sticky;bottom:12px;display:flex;justify-content:flex-end;gap:10px;background:#ffffffd9;backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;padding:12px;z-index:8}.theme-preview{display:flex;align-items:center;gap:14px;padding:14px;border-radius:16px;background:#f8fafc}.preview-dot{width:32px;height:32px;border-radius:999px;background:var(--primary);display:inline-block}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.doc-card{padding:0!important;overflow:hidden;border-radius:20px!important}.doc-card .doc-icon{height:120px;display:grid;place-items:center;background:#f8fbff;border-bottom:1px solid var(--line)}.doc-card .doc-icon .sv-icon{width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important;color:#71829b}.doc-card h3,.doc-card p,.doc-card .actions,.doc-card .doc-type{margin-left:18px;margin-right:18px}.doc-card .doc-type{margin-top:14px;display:inline-block;background:#eef5ff;color:#4b6587;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.doc-card .actions{margin-bottom:18px}.clinical-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.clinical-summary-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px}.clinical-summary-card span{color:var(--muted)}.clinical-summary-card strong{display:block;font-size:28px}.clinical-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px}.clinical-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.clinical-card-head{display:flex;justify-content:space-between;gap:12px}.clinical-card h3{margin:4px 0 0}.clinical-card p{margin:8px 0}.clinical-monitor{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.clinical-monitor div{border:1px solid var(--line);border-radius:14px;padding:10px;background:#f8fafc}.clinical-monitor span{display:block;color:var(--muted);font-size:11px}.clinical-monitor b{font-size:16px}.case-monitor{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.case-followup-form{margin:12px 0;border:1px solid var(--line);border-radius:14px;padding:12px;background:#f8fafc}.report-shortcut h3{margin-top:0}.report-shortcut p{color:var(--muted);margin-bottom:0}
@media(max-width:900px){.sidebar{position:fixed!important;transform:translateX(-110%)!important;width:286px!important;min-width:286px!important;z-index:1000!important}.workspace,.sidebar.collapsed+.workspace{margin-left:0!important;width:100%!important}body.sidebar-open .sidebar{transform:translateX(0)!important}.brand-text,.menu-search,.menu-group-title span:first-child,.menu-item span{display:block!important}.sidebar-collapse{display:none!important}.mobile-sidebar-close{display:grid!important}.menu-item{justify-content:flex-start!important;margin:5px 12px!important}.menu-group-title{justify-content:space-between!important}.topbar{flex-wrap:nowrap!important;height:64px!important}.top-spacer{display:block}.branch-form select{max-width:120px;min-width:115px}.nfc-label{display:none}.settings-shell{grid-template-columns:1fr}.settings-menu{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow-x:auto;gap:8px;padding:14px}.settings-menu h3{display:none}.settings-menu a{white-space:nowrap;margin:0}.settings-content{padding:14px}.settings-section{padding:16px}.doc-grid,.clinical-card-grid{grid-template-columns:1fr}.clinical-monitor{grid-template-columns:repeat(2,1fr)}.content{padding:16px!important}.page-title h1{font-size:26px}}
@media(max-width:520px){.branch-form{display:none}.top-icon{min-width:34px!important;width:34px!important;height:34px!important}.notification-btn{margin-left:0!important}.grid-4{grid-template-columns:1fr!important}.indicator-grid{grid-template-columns:1fr 1fr}.settings-savebar{justify-content:stretch}.settings-savebar .btn{flex:1}.doc-card .doc-icon{height:90px}}

/* ==========================================================
   V11.2 - Corrección UX/UI funcional sin tocar reportes laboratorio
========================================================== */
:root{--soft-primary:color-mix(in srgb,var(--primary) 12%,white);--soft-menu:color-mix(in srgb,var(--menu-color) 12%,white)}
.btn-primary{background:var(--button-color,var(--primary))!important;color:#fff!important}.btn-soft{background:color-mix(in srgb,var(--button-color,var(--primary)) 10%,white)!important;color:var(--button-color,var(--primary))!important}.menu-item:hover,.menu-item.active{background:color-mix(in srgb,var(--menu-color,var(--primary)) 12%,white)!important;color:var(--menu-color,var(--primary))!important}.hero.clean-hero{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,#111827))!important;color:#fff!important;min-height:120px}.welcome-card h2,.welcome-card p{color:#fff!important}.top-icon{border:0!important;background:transparent!important;color:#0f172a!important;box-shadow:none!important;min-width:40px;width:40px;height:40px;border-radius:14px}.top-icon:hover{background:#f1f6ff!important}.top-icon .sv-icon{width:21px!important;height:21px!important}.nfc-scan-btn{color:var(--primary)!important}.nfc-label{display:none!important}.notification-btn{position:relative}.notification-btn.has-notification{background:transparent!important;color:#b91c1c!important}.notification-badge{position:absolute!important;top:0!important;right:1px!important;min-width:17px!important;height:17px!important;line-height:15px!important;padding:0 4px!important;border:2px solid #fff!important;border-radius:999px!important;background:#ef4444!important;color:#fff!important;font-size:10px!important;font-weight:700!important;display:grid!important;place-items:center!important}.dark .notification-badge{border-color:#14181f!important}.theme-toggle .sv-icon{width:22px!important;height:22px!important}.theme-toggle{color:#0f172a!important}.dark .theme-toggle{color:#f8fafc!important}.top-avatar{border:0!important;background:#eef4ff!important;color:#2563eb!important;width:42px;height:42px;border-radius:16px;font-weight:800}.branch-form select{height:42px}.topbar{gap:8px}.top-spacer{flex:1}
/* Menú móvil como panel real, no barra de iconos */
.mobile-sidebar-close{display:none;border:0;background:#eef4ff;border-radius:12px;width:36px;height:36px;place-items:center;color:#0f2a55}.mobile-menu-btn{border:0;background:#eef4ff;color:#0f2a55;border-radius:14px;width:42px;height:42px;display:grid;place-items:center}.sidebar-mobile-open:before{content:"";position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:95}.sidebar{will-change:transform}.sidebar .menu-chevron{display:inline-flex}.sidebar.collapsed .menu-chevron,body.sidebar-collapsed .menu-chevron{display:none!important}@media(max-width:900px){.sidebar{transform:translateX(-110%)!important;width:292px!important;min-width:292px!important;z-index:110!important;box-shadow:20px 0 60px rgba(15,23,42,.22)!important}.sidebar-mobile-open .sidebar{transform:translateX(0)!important}.workspace,.sidebar.collapsed+.workspace{margin-left:0!important;width:100%!important}.brand{justify-content:flex-start!important;padding:14px 16px!important}.mobile-sidebar-close{display:grid!important}.brand-text,.menu-search,.menu-group-title span:first-child,.menu-item span{display:flex!important}.brand-text{display:flex!important}.menu-search{display:block!important}.menu-group-title{justify-content:space-between!important;margin:12px 14px 6px!important;width:calc(100% - 28px)!important}.menu-item{justify-content:flex-start!important;margin:4px 14px!important;padding:12px 14px!important;width:auto!important;height:auto!important}.sidebar-collapse{display:none!important}.content{padding:14px!important}.topbar{position:sticky;top:0;min-height:62px;flex-wrap:nowrap!important;overflow-x:auto;padding:10px 12px}.branch-form select,.branch-fixed{display:none}.top-icon,.top-avatar{min-width:38px;width:38px;height:38px}.page-title h1{font-size:25px}.quick-top{display:none}.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr!important}.dashboard-kpis{grid-template-columns:1fr!important}.card{padding:16px;border-radius:17px}.tabs{overflow-x:auto;flex-wrap:nowrap}.tabs a{white-space:nowrap}.pet-header{display:flex!important;align-items:center!important;gap:14px!important}.pet-header-actions{width:100%;justify-content:flex-start}.pet-metrics.compact-pet-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.identification-box{grid-template-columns:1fr!important}.qr-card{justify-self:start}.settings-shell{grid-template-columns:1fr!important}.settings-menu{position:static!important;display:flex;overflow-x:auto;gap:8px;border-right:0!important;border-bottom:1px solid var(--line);padding:12px!important}.settings-menu h3{display:none}.settings-menu a{min-width:max-content}.settings-content{padding:0!important}.settings-savebar{position:sticky!important;bottom:0;z-index:20}.month-chart{height:220px!important}.calendar-mini{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:5px}.calendar-day{min-height:38px!important;font-size:12px}.calendar-day small{display:none}}
/* Configuración aislada por sección */
.isolated-settings{display:grid;grid-template-columns:280px minmax(0,1fr);gap:0;border:1px solid var(--line);background:var(--card);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.settings-menu{background:#f8fafc;padding:20px;border-right:1px solid var(--line)}.settings-menu h3{margin:0 0 14px;font-size:15px}.settings-menu a{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:14px;color:#334155;font-weight:600}.settings-menu a.active{background:color-mix(in srgb,var(--primary) 14%,white);color:var(--primary)}.settings-content{padding:26px}.settings-section{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}.settings-section-head{display:flex;gap:14px;align-items:center;margin-bottom:22px}.settings-section-head>.sv-icon{width:42px!important;height:42px!important;padding:10px;border-radius:16px;background:color-mix(in srgb,var(--primary) 12%,white);color:var(--primary)}.settings-callout{border:1px dashed var(--line);border-radius:18px;padding:18px;background:#f8fafc}.theme-preview{display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;border:1px solid var(--line);background:#f8fafc}.preview-dot{width:34px;height:34px;border-radius:999px;background:var(--primary);display:inline-block}.settings-savebar{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
/* Expediente moderno */
.pet-header{border-radius:24px!important;box-shadow:0 18px 46px rgba(15,23,42,.08);background:linear-gradient(180deg,#fff,#fbfdff)}.pet-photo{background:color-mix(in srgb,var(--primary) 10%,white)!important;color:var(--primary)!important}.pet-metric{min-height:124px!important;box-shadow:0 10px 26px rgba(15,23,42,.06)!important}.pet-health-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pet-health-summary>div{padding:14px;border-radius:16px;background:#f8fafc;border:1px solid var(--line)}.pet-health-summary span{display:block;color:var(--muted);font-size:12px}.pet-health-summary strong{display:block;font-size:18px;margin:4px 0}.pet-health-summary small{color:var(--muted)}.enhanced-identification{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr)) 130px!important;align-items:center;gap:12px}.identification-chip{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--primary) 5%,white)}.identification-chip span{font-size:12px;color:var(--muted)}.identification-chip strong{font-size:14px}.qr-card{width:116px;height:116px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;place-items:center;overflow:hidden}.qr-card img{width:100%;height:100%;object-fit:cover}.tabs{background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;margin:18px 0}.tabs a{background:#f1f5f9;border-radius:13px;padding:10px 15px}.tabs a.active{background:color-mix(in srgb,var(--primary) 18%,white);color:var(--primary);font-weight:700}
/* Timeline conectado y compacto */
.connected-timeline,.timeline{position:relative;padding-left:20px}.connected-timeline:before,.timeline:before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--primary),#e2e8f0)}.timeline-item{position:relative;display:grid!important;grid-template-columns:18px 1fr;gap:10px;margin:0 0 14px!important}.timeline-dot{position:relative!important;left:auto!important;top:4px!important;width:14px!important;height:14px!important;border:3px solid #dff8f5;background:var(--primary)!important;border-radius:999px;z-index:2}.timeline-item h3{font-size:14px;margin:2px 0 4px}.timeline-item p{margin:0;color:#475569}.history-table table{min-width:760px}
/* Dashboard moderno */
.modern-indicators{min-height:360px}.month-chart{height:260px;display:flex;align-items:flex-end;gap:18px;padding:20px 4px 0;position:relative}.month-chart-line{position:absolute;left:10px;right:10px;bottom:60px;height:1px;background:#e2e8f0}.month-bar{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;color:inherit}.month-bar i{width:46px;min-height:16px;border-radius:16px 16px 8px 8px;background:linear-gradient(180deg,var(--primary),color-mix(in srgb,var(--primary) 70%,#2563eb));box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 28%,transparent)}.month-bar span{font-size:12px;color:var(--muted);text-align:center}.month-bar b{font-size:18px}.quick-actions .quick-action{display:flex;gap:14px;align-items:flex-start}.quick-action>.sv-icon{width:42px!important;height:42px!important;padding:10px;border-radius:14px;background:color-mix(in srgb,var(--primary) 12%,white);color:var(--primary)}.quick-action h3{margin:0 0 4px}.quick-action p{margin:0;color:var(--muted)}
/* Casos clínicos */
.case-monitor{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.clinical-monitor{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.clinical-monitor div{padding:10px;border-radius:14px;background:#f8fafc;border:1px solid var(--line)}.clinical-card{border:1px solid var(--line);border-radius:20px;padding:18px;background:#fff;box-shadow:var(--shadow)}.clinical-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.clinical-card-head{display:flex;justify-content:space-between;gap:12px}.clinical-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.clinical-summary-card{padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff}.clinical-summary-card strong{font-size:26px}.tone-danger{border-left:5px solid #dc2626}.tone-warning{border-left:5px solid #f59e0b}.tone-success{border-left:5px solid #16a34a}
/* Documentos y resultados estilo tarjetas */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.doc-card{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06);padding:0;overflow:hidden}.doc-card h3{margin:0;padding:38px 18px 28px;text-align:center;background:#f8fbff;border-bottom:1px solid var(--line)}.doc-card p{padding:14px 18px;margin:0}.doc-card .btn{margin:0 18px 18px;width:calc(100% - 36px)}
.dark .topbar,.dark .sidebar,.dark .card,.dark .table-card,.dark .doc-card,.dark .settings-shell{background:#14181f!important;border-color:#27303b!important}.dark .settings-menu,.dark .settings-callout,.dark .theme-preview,.dark .pet-health-summary>div,.dark .clinical-monitor div{background:#0f141b!important}.dark .top-icon{color:#f8fafc!important}.dark .top-icon:hover{background:#1f2937!important}.dark .timeline-item p{color:#cbd5e1}.dark .notification-badge{border-color:#14181f!important}@media(max-width:900px){.pet-health-summary{grid-template-columns:1fr 1fr}.enhanced-identification{grid-template-columns:1fr!important}.month-chart{gap:10px}.month-bar i{width:34px}.clinical-monitor{grid-template-columns:1fr 1fr}.doc-grid{grid-template-columns:1fr}.pet-metrics.compact-pet-metrics{grid-template-columns:1fr 1fr!important}}@media(max-width:520px){.pet-health-summary,.pet-metrics.compact-pet-metrics{grid-template-columns:1fr!important}.month-bar span{font-size:10px}.month-bar i{width:28px}.topbar{gap:5px}.mobile-menu-btn,.top-icon,.top-avatar{width:36px;height:36px;min-width:36px}.notification-badge{right:-2px!important;top:-3px!important}}
.vital-chart{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:18px;background:#f8fafc}.vital-chart-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.vital-chart-head span{font-weight:700}.vital-bars{height:120px;display:flex;align-items:flex-end;gap:12px}.vital-bars span{flex:1;height:100%;display:flex;align-items:flex-end;gap:3px;justify-content:center;border-bottom:1px solid #dbe5f2}.vital-bars i{width:9px;border-radius:999px;background:var(--primary);display:block}.vital-bars i:nth-child(2){background:#2563eb}.vital-bars i:nth-child(3){background:#f59e0b}.dark .vital-chart{background:#0f141b}

/* ==========================================================
   Corrección UI/Permisos/Reportes - misma versión
========================================================== */
:root{--primary:var(--primary-color,#0ea5a3)}
.btn-primary{background:var(--button-color,var(--primary))!important;border-color:var(--button-color,var(--primary))!important;color:#fff!important}
.btn-soft{background:color-mix(in srgb,var(--button-color,var(--primary)) 10%,#fff)!important;color:var(--button-color,var(--primary))!important;border-color:color-mix(in srgb,var(--button-color,var(--primary)) 18%,#dbe5f2)!important}
.menu-item.active,.settings-menu a.active{background:color-mix(in srgb,var(--menu-color,var(--primary)) 14%,#fff)!important;color:var(--menu-color,var(--primary))!important}
.menu-item.active .sv-icon,.settings-menu a.active .sv-icon,.kpi-icon .sv-icon,.doc-card .sv-icon{fill:currentColor;color:inherit}
.clean-top-icon,.top-icon.icon-only{border:0!important;background:transparent!important;box-shadow:none!important}
.top-icon.icon-only:hover{background:color-mix(in srgb,var(--primary) 10%,#fff)!important}
.notification-btn .notification-badge,.notification-badge{top:-5px!important;right:-3px!important;border:2px solid var(--card)!important;box-shadow:0 3px 10px rgba(239,68,68,.25)}
.theme-toggle .sv-icon{width:21px!important;height:21px!important;stroke-width:2.4px!important}
.topbar .sv-icon{width:20px;height:20px}
.settings-menu-subtitle{font-size:12px!important;color:var(--muted);text-transform:uppercase;margin:16px 10px 8px!important;letter-spacing:.08em}
.settings-shell{align-items:stretch}.settings-menu{min-width:260px}.settings-content{min-width:0}.settings-savebar{position:sticky;bottom:0;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:14px;display:flex;justify-content:flex-end;gap:10px;border-radius:0 0 18px 18px}.dark .settings-savebar{background:rgba(20,24,31,.86)}
.roles-permissions-form{padding:0!important;overflow:hidden}.role-block{padding:20px;border-bottom:1px solid var(--line)}.role-block:last-child{border-bottom:0}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 14px;margin-top:12px}.permission-grid h3{grid-column:1/-1;margin:14px 0 4px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.permission-grid label{display:flex;align-items:center;gap:8px;background:#f8fbff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.dark .permission-grid label{background:#0f141b}
.report-list{display:grid;gap:14px}.report-row{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:16px;padding:18px 20px!important;text-decoration:none;color:var(--text)}.report-row>.sv-icon{width:26px;height:26px;color:var(--primary)}.report-row h2{margin:0 0 4px;font-size:20px}.report-row p{margin:0;color:var(--muted)}.report-row>span{color:var(--primary);font-weight:600}
.doc-grid-compact{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;gap:16px!important}.doc-card{min-height:auto!important;padding:0!important;overflow:hidden}.doc-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f8fbff;border-bottom:1px solid var(--line)}.doc-card .doc-icon{width:36px!important;height:36px!important;margin:0!important}.doc-card h3{font-size:16px!important;min-height:44px;padding:14px 16px;margin:0!important;display:flex;align-items:center}.doc-card p{padding:0 16px;margin:0 0 12px!important;font-size:13px}.doc-card .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px 16px}.doc-card .btn{width:100%;justify-content:center;padding:8px!important;font-size:12px!important}
.pet-header.card{display:flex!important;flex-wrap:wrap!important;align-items:center!important}.pet-header>.pet-photo{flex:0 0 70px}.pet-header>.actions{margin-left:auto!important}.pet-inline-metrics{flex:1 1 100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.pet-inline-metrics .pet-metric{min-height:96px!important;padding:14px!important;box-shadow:none!important;background:#f8fbff!important}.pet-inline-metrics .pet-metric strong{font-size:17px!important}.species-avatar svg,.pet-photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.pagination-bar{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:12px;border-top:1px solid var(--line);background:#fff}.pagination-bar button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 10px;cursor:pointer}.pagination-bar button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-bar button:disabled{opacity:.45;cursor:not-allowed}.dark .pagination-bar,.dark .pagination-bar button{background:#14181f;color:#e5e7eb;border-color:#27303b}
.modern-mini-chart{height:120px;margin:4px 0 12px}.modern-mini-chart svg{width:100%;height:100%}.month-chart{margin-top:8px}.month-bar i{background:var(--primary)!important}.quick-actions{margin-top:10px}.quick-action{min-height:104px}
@media(max-width:780px){.settings-shell{display:block}.settings-menu{display:flex;overflow-x:auto;gap:8px;min-width:0;padding:10px}.settings-menu h3,.settings-menu-subtitle{display:none}.settings-menu a{white-space:nowrap;flex:0 0 auto}.report-row{grid-template-columns:38px 1fr;gap:12px}.report-row>span{grid-column:2}.pet-inline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pet-header>.actions{margin-left:0!important;width:100%;display:grid!important;grid-template-columns:1fr 1fr}.doc-grid-compact{grid-template-columns:1fr!important}.permission-grid{grid-template-columns:1fr}.pagination-bar{justify-content:center;flex-wrap:wrap}.top-icon.icon-only,.top-avatar,.mobile-menu-btn{background:transparent!important;border:0!important}.branch-form{display:none}}
@media(max-width:480px){.pet-inline-metrics{grid-template-columns:1fr}.report-row{grid-template-columns:1fr}.report-row>.sv-icon{display:none}}

/* Correcciones UI compacta solicitadas */
.menu-group:empty,.menu-group-body:empty{display:none!important}.sv-icon{fill:currentColor}.theme-toggle .sv-icon{width:22px!important;height:22px!important;stroke-width:0!important}.top-icon{border:0!important;box-shadow:none!important;background:transparent!important}.top-icon:hover{background:#eef6ff!important}.notification-badge{top:4px!important;right:4px!important}.nfc-scan-btn::after{display:none!important}
.doc-grid-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:14px;align-items:stretch}.doc-card{min-height:230px!important;padding:0!important;display:flex;flex-direction:column;align-items:stretch;text-align:center;overflow:hidden}.doc-card-head{height:74px;display:flex;align-items:center;justify-content:center;gap:14px;background:#f7fafc;border-bottom:1px solid var(--line);padding:10px}.doc-icon{width:38px;height:38px;border-radius:12px;background:#eef4ff;display:grid;place-items:center;color:#64748b}.doc-type{font-size:11px;font-weight:900;background:#eef4ff;color:#1e3a8a;border-radius:999px;padding:5px 10px}.doc-card h3{font-size:15px;margin:14px 12px 8px;min-height:38px;display:flex;align-items:center;justify-content:center}.doc-card p{font-size:12px;line-height:1.45;margin:0 12px 12px;text-align:left}.doc-card .actions{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.doc-card .btn{width:100%;padding:9px 8px!important;font-size:12px!important}
.color-control{display:grid;grid-template-columns:54px 1fr 38px;gap:10px;align-items:center}.color-control input[type=color]{width:54px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:3px}.color-hex{font-family:monospace}.color-swatch{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);display:block}.theme-preview{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.preview-dot{width:34px;height:34px;border-radius:999px;background:var(--primary)}
.pet-header{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:start!important;gap:16px!important}.pet-inline-metrics{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:10px}.pet-metric{min-height:86px!important;padding:14px!important;display:grid!important;grid-template-columns:auto 1fr!important;grid-template-areas:'icon label' 'icon value' 'icon sub';column-gap:10px;align-items:center}.pet-metric .sv-icon{grid-area:icon;width:32px!important;height:32px!important;background:#eef4ff;border-radius:12px;padding:8px;color:#2563eb}.pet-metric span{grid-area:label;font-size:12px;color:var(--muted);display:block}.pet-metric strong{grid-area:value;font-size:20px;line-height:1.1}.pet-metric small{grid-area:sub;font-size:11px;line-height:1.25}.pet-photo,.avatar{flex:0 0 auto}.species-avatar{display:grid;place-items:center;width:100%;height:100%;border-radius:inherit}.species-avatar svg{width:28px!important;height:28px!important}.history-timeline{position:relative;padding-left:26px}.history-timeline:before{content:'';position:absolute;left:8px;top:10px;bottom:10px;width:3px;background:#e2e8f0;border-radius:999px}.history-item{position:relative;margin-bottom:18px}.history-item:before{content:'';position:absolute;left:-25px;top:4px;width:14px;height:14px;border-radius:999px;background:var(--primary);border:3px solid #d9f8f4}.report-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.report-row{display:flex;align-items:center;gap:14px;text-decoration:none}.report-table table{min-width:720px}.roles-layout{display:grid;gap:16px}.role-card{overflow:hidden}.role-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.perm-group{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.perm-group h3{font-size:14px;margin:0 0 8px}.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.perm-check{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:10px;font-size:13px}.pagination-bar{display:flex;gap:6px;justify-content:flex-end;align-items:center;padding:12px}.pagination-bar button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 10px}.pagination-bar button.active{background:var(--primary);color:white;border-color:var(--primary)}
@media(max-width:900px){.doc-grid-compact{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.pet-header{grid-template-columns:auto 1fr!important}.pet-header-actions{grid-column:1/-1;justify-content:flex-start}.pet-inline-metrics{grid-template-columns:1fr!important}.settings-shell{grid-template-columns:1fr!important}.settings-menu{position:relative!important;top:auto!important;border-right:0!important;border-bottom:1px solid var(--line)}}

/* ==========================================================
   V11.3 - Ajustes finales UX: documentos, roles, NFC, casos y dashboard
========================================================== */
.top-icon.nfc-scan-btn{background:transparent!important;color:var(--primary)!important;border:0!important;box-shadow:none!important}.top-icon.nfc-scan-btn .sv-icon{width:24px!important;height:24px!important}.top-icon.nfc-scan-btn:hover{background:color-mix(in srgb,var(--primary) 9%,#fff)!important}.theme-toggle .sv-icon{width:24px!important;height:24px!important;filter:drop-shadow(0 0 0 currentColor)}.notification-badge{top:2px!important;right:1px!important}.btn,.btn-small{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px;white-space:nowrap;line-height:1.1}.btn-danger{background:#fee2e2!important;color:#b91c1c!important;border:0!important}.centered-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px;flex-wrap:wrap}.actions.centered-actions .btn,.doc-card .actions .btn{min-width:0!important}
/* Documentos compactos y simétricos */
.doc-grid.doc-grid-compact{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))!important;gap:16px!important}.doc-card{min-height:258px!important;border-radius:18px!important;text-align:center!important}.doc-card-head{height:64px!important;justify-content:center!important;gap:10px!important;padding:10px 12px!important}.doc-card .doc-icon,.doc-icon{width:34px!important;height:34px!important;border-radius:11px!important}.doc-type{margin:0!important}.doc-card h3{font-size:15px!important;line-height:1.25!important;min-height:44px!important;margin:0!important;padding:12px 12px 8px!important;justify-content:center!important;text-align:center!important}.doc-card p{font-size:12px!important;line-height:1.35!important;margin:0!important;padding:0 14px 10px!important;text-align:left!important}.doc-card .actions{padding:10px 12px 14px!important;margin:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.doc-card .btn{height:34px!important;border-radius:11px!important;font-size:12px!important;padding:0 8px!important}.pet-detail-docs .doc-card,.tabs+.doc-grid .doc-card{max-width:230px}.pet-detail-docs,.tabs+.doc-grid{align-items:start}
/* Color picker limpio */
.clean-color-control,.color-control.clean-color-control{grid-template-columns:46px minmax(140px,1fr)!important}.color-picker-chip{width:46px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--pick);position:relative;cursor:pointer;overflow:hidden;display:block}.color-picker-chip input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%!important;height:100%!important}.color-picker-chip span{position:absolute;inset:6px;border-radius:9px;background:var(--pick);box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}.color-control .color-hex{height:42px!important}.color-swatch{display:none!important}
/* Roles organizados */
.roles-layout{display:grid!important;gap:18px!important}.role-card{padding:20px!important}.perm-section-title{font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:12px;margin:18px 0 8px}.perm-module-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;align-items:start}.perm-group{border:1px solid var(--line)!important;border-radius:16px!important;padding:14px!important;margin:0!important;background:#fbfdff!important}.perm-group h3{margin:0 0 10px!important;color:var(--text)!important}.perm-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.perm-check{padding:9px 10px!important;background:#fff!important}.perm-check input:disabled+span{opacity:.75}.dark .perm-group{background:#11161e!important}.dark .perm-check{background:#14181f!important}
/* Pet header y métricas compactas */
.pet-header.card{display:grid!important;grid-template-columns:76px minmax(0,1fr) auto!important;gap:16px!important;align-items:center!important;padding:22px!important}.pet-photo{width:64px!important;height:64px!important;border-radius:18px!important}.pet-header h1{margin:0 0 6px!important}.pet-header p{margin:0 0 8px!important}.pet-header-actions{align-self:start!important}.pet-inline-metrics{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:8px!important}.pet-inline-metrics .pet-metric{min-height:74px!important;padding:12px 14px!important;background:#f8fbff!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:none!important;display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;grid-template-areas:'icon label' 'icon value' 'icon sub'!important;column-gap:10px!important;align-content:center!important}.pet-metric .sv-icon{grid-area:icon!important;align-self:center!important;width:30px!important;height:30px!important;max-width:30px!important;max-height:30px!important;padding:7px!important;border-radius:10px!important;background:#eef4ff!important;color:#2563eb!important}.pet-metric span{grid-area:label!important;display:block!important;font-size:11px!important;line-height:1.1!important;margin:0!important;color:var(--muted)!important}.pet-metric strong{grid-area:value!important;display:block!important;font-size:17px!important;line-height:1.2!important;margin:2px 0!important;white-space:normal!important}.pet-metric small{grid-area:sub!important;display:block!important;font-size:11px!important;line-height:1.2!important;margin:0!important;white-space:normal!important}.pet-health-summary{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;gap:12px!important}.pet-health-summary>div{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfdff}.pet-health-summary strong{display:block;font-size:18px}.identification-box{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}.identification-chip{min-height:62px!important}
/* NFC modal sin buscador */
.nfc-result input,.nfc-result button{display:none!important}.nfc-scan-animation{height:120px;display:grid;place-items:center;position:relative}.nfc-scan-animation span{width:74px;height:74px;border-radius:50%;border:2px solid var(--primary);animation:nfcPulse 1.4s infinite}.nfc-scan-animation i{position:absolute;width:28px;height:28px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 8px color-mix(in srgb,var(--primary) 18%,transparent)}.nfc-scan-animation.error span{border-color:#ef4444}.nfc-scan-animation.error i{background:#ef4444;box-shadow:0 0 0 8px rgba(239,68,68,.16)}@keyframes nfcPulse{0%{transform:scale(.8);opacity:.8}70%{transform:scale(1.25);opacity:.1}100%{transform:scale(.8);opacity:.8}}.nfc-pet-card{text-align:center}.nfc-not-found{text-align:center;color:#b91c1c;background:#fee2e2;border-radius:14px;padding:12px}
/* Casos clínicos */
.clinical-card{position:relative;overflow:hidden}.clinical-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:#f59e0b}.clinical-card.tone-success:before{background:#22c55e}.clinical-card.tone-danger:before{background:#ef4444}.clinical-card-head .badge{min-width:74px;justify-content:center}.clinical-monitor div{min-height:58px}.clinical-monitor b{font-size:15px}.clinical-monitor div:has(b:not(:empty)){background:#fff}.clinical-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}.clinical-actions .btn{height:34px!important;font-size:12px!important}.case-action-modal{max-width:720px!important;width:min(720px,calc(100% - 24px))!important}.modal-lite.open{display:grid!important}.modal-lite{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:9999;display:none;place-items:center;padding:16px}.modal-card{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:22px;position:relative}.modal-close{position:absolute;right:14px;top:14px;border:0;background:transparent;color:var(--muted);cursor:pointer}.unsaved-card{text-align:center;max-width:430px!important}
/* Dashboard gráficos */
.chart-legend{display:flex;justify-content:flex-end;gap:16px;margin-bottom:8px;font-size:12px;color:var(--muted)}.chart-legend i{display:inline-block;width:14px;height:9px;border-radius:4px;margin-right:6px}.chart-legend .current{background:var(--primary)}.chart-legend .previous{background:#c7d2fe}.compare-chart{height:220px;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:end;border-bottom:1px solid var(--line);padding:12px 4px 0}.compare-bar{text-align:center;color:var(--text);text-decoration:none}.compare-bar div{height:150px;display:flex;gap:5px;align-items:end;justify-content:center}.compare-bar i{width:22px;border-radius:8px 8px 0 0;display:block}.compare-bar .curr{background:var(--primary);box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 25%,transparent)}.compare-bar .prev{background:#c7d2fe}.compare-bar span{display:block;margin-top:7px;font-size:12px;color:var(--muted)}.compare-bar b{font-size:18px}.dashboard-secondary{align-items:stretch}.pie-list{display:grid;gap:12px;margin-top:18px}.pie-row{display:grid;grid-template-columns:130px 1fr 36px;gap:10px;align-items:center}.pie-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.pie-row div{height:10px;background:#eef2f7;border-radius:999px;overflow:hidden}.pie-row i{height:100%;display:block;background:var(--primary);border-radius:999px}.quick-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.quick-report-grid a{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fbff;color:var(--text)}.quick-report-grid b{float:right;color:var(--primary)}
/* Alergias: acciones correctas */
.table-card .btn-danger{height:32px}
/* Separadores de tabla no cortados */
table tr{border-bottom:1px solid var(--line)}td,th{border-bottom:0!important}.table-card{border:1px solid var(--line);border-radius:18px;overflow:auto;background:var(--card)}
@media(max-width:900px){.pet-header.card{grid-template-columns:64px 1fr!important}.pet-header-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}.pet-inline-metrics{grid-template-columns:1fr!important}.clinical-actions{grid-template-columns:1fr!important}.compare-chart{height:190px;gap:8px}.compare-bar i{width:16px}.pie-row{grid-template-columns:90px 1fr 30px}.quick-report-grid{grid-template-columns:1fr}.doc-grid.doc-grid-compact{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important}.modal-card{width:calc(100% - 24px)!important}.perm-module-columns{grid-template-columns:1fr}}


/* --- SistenVet final UI stabilization --- */
.top-mobile-branch{display:none}.topbar .branch-form{display:block}.nfc-scan-btn.clean-top-icon{background:transparent!important;border:0!important;width:34px!important;height:34px!important;min-width:34px!important;color:var(--primary)!important}.nfc-scan-btn .sv-icon{width:21px!important;height:21px!important}.theme-toggle .sv-icon{width:22px!important;height:22px!important;fill:currentColor}.settings-savebar{align-items:center!important}.settings-savebar .btn{min-height:42px!important;height:auto!important;padding:10px 16px!important;border-radius:14px!important;flex:0 0 auto!important}.settings-savebar .btn-primary{min-width:130px}.compact-btn{min-height:38px!important;height:38px!important;padding:0 16px!important;border-radius:12px!important}.color-control{display:grid!important;grid-template-columns:42px minmax(0,1fr) 34px!important;gap:10px!important;align-items:center}.color-picker-chip{width:42px!important;height:42px!important;border-radius:12px!important;overflow:hidden;background:var(--pick)!important;border:1px solid var(--line)!important;display:block!important;position:relative}.color-picker-chip input{opacity:0;width:100%;height:100%;cursor:pointer}.color-control:after{content:'';display:block;width:34px;height:34px;border-radius:11px;background:var(--pick,#0ea5a3);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.color-field .form-control{font-weight:700}.badge.success,.preview-dot{background:var(--primary)!important;color:#fff!important}.pet-header{display:grid!important;grid-template-columns:64px minmax(160px,1fr) auto!important;gap:18px!important;align-items:start!important}.pet-photo{width:64px!important;height:64px!important}.pet-header-actions{justify-content:flex-end!important}.compact-pet-details{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(2,minmax(210px,1fr)) 180px!important;gap:12px!important}.mini-detail{display:flex!important;align-items:center!important;gap:12px!important;padding:14px!important;min-height:74px!important;background:#f8fbff!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:none!important}.mini-detail>.sv-icon{flex:0 0 36px!important;width:36px!important;height:36px!important;padding:9px!important;border-radius:12px!important;background:color-mix(in srgb,var(--primary) 10%,#fff)!important;color:var(--primary)!important}.mini-detail span{display:block!important;font-size:12px!important;color:var(--muted)!important;margin-bottom:3px!important}.mini-detail strong{display:block!important;font-size:18px!important;line-height:1.15!important}.mini-detail small{display:block!important;font-size:12px!important;line-height:1.3!important;white-space:normal!important}.weight-trend{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;font-style:normal;font-weight:900;color:#fff}.weight-trend.up{background:#16a34a}.weight-trend.down{background:#dc2626}.weight-trend.same{background:#64748b}.qr-inline{grid-column:auto!important}.qr-inline img{width:54px;height:54px;border-radius:10px;border:1px solid var(--line);background:#fff;padding:3px}.compact-identification{margin-top:0!important}.documents-page .doc-grid,.doc-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;gap:16px!important;align-items:stretch!important}.doc-card{min-height:230px!important;display:flex!important;flex-direction:column!important;text-align:center!important}.doc-card h3{font-size:15px!important;min-height:42px!important;display:grid!important;place-items:center!important;margin:0!important;padding:10px!important}.doc-card p{margin:0!important;padding:8px 12px!important;text-align:left!important}.doc-card .actions{margin-top:auto!important;justify-content:center!important;padding:10px!important}.doc-card .btn{min-width:82px!important;height:34px!important;padding:0 12px!important}.dots{position:relative}.dots-menu{position:absolute!important;right:0!important;top:34px!important;z-index:30!important;min-width:160px!important}.table-card{overflow-x:auto}.table-card table{min-width:720px}.table-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px}.compare-chart[data-series="current"] .prev{display:none!important}.compare-chart[data-series="previous"] .curr{display:none!important}.compare-chart[data-series="current"] .compare-bar>div,.compare-chart[data-series="previous"] .compare-bar>div{gap:0!important}.interactive-legend{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.interactive-legend button{border:0;background:#f1f5f9;border-radius:999px;padding:7px 11px;display:flex;gap:6px;align-items:center;cursor:pointer;color:var(--muted);font-weight:700}.interactive-legend button.active{background:color-mix(in srgb,var(--primary) 12%,#fff);color:var(--primary)}.nfc-modal-card{text-align:center}.nfc-scan-animation{height:130px;display:grid;place-items:center;position:relative}.nfc-scan-animation span{width:82px;height:82px;border-radius:999px;border:2px solid color-mix(in srgb,var(--primary) 28%,#fff);display:block;animation:nfcPulse 1.2s infinite}.nfc-scan-animation i{position:absolute;width:26px;height:26px;border-radius:999px;background:var(--primary);box-shadow:0 0 0 10px color-mix(in srgb,var(--primary) 14%,transparent)}@keyframes nfcPulse{0%{transform:scale(.75);opacity:.5}70%{transform:scale(1.25);opacity:1}100%{transform:scale(.75);opacity:.5}}.public-portal{max-width:1020px;margin:0 auto;padding:22px}.public-card{margin-bottom:16px}.public-search{display:grid;grid-template-columns:1fr auto;gap:10px}.public-grid .card{min-height:180px}.dark .mini-detail,.dark .settings-section,.dark .doc-card{background:#151922!important}.dark .interactive-legend button{background:#1f2937}
@media(max-width:780px){.topbar .branch-form{display:block!important}.topbar>.branch-form{display:none!important}.top-mobile-branch{display:block;max-width:116px}.top-mobile-branch .branch-form{display:block!important}.top-mobile-branch select{height:32px!important;max-width:110px!important;font-size:11px!important;padding:0 6px!important}.pet-header{grid-template-columns:54px 1fr auto!important;gap:12px!important;padding:16px!important}.pet-photo{width:54px!important;height:54px!important}.pet-header h1{font-size:22px!important}.pet-header-actions{grid-column:1/-1!important;justify-content:flex-end!important}.compact-pet-details{grid-template-columns:1fr!important;gap:10px!important}.mini-detail{min-height:66px!important;padding:12px!important}.qr-inline img{width:50px;height:50px}.settings-menu{grid-template-columns:1fr!important}.settings-savebar{position:static!important}.settings-savebar .btn{width:auto!important;flex:1 1 0!important}.compare-chart{min-height:210px!important;overflow-x:auto}.compare-bar{min-width:58px}.documents-page .doc-grid,.doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.doc-card{min-height:210px!important}.doc-card .btn{min-width:70px!important;font-size:11px!important}.public-search{grid-template-columns:1fr}.public-grid{grid-template-columns:1fr!important}}
@media(max-width:460px){.documents-page .doc-grid,.doc-grid{grid-template-columns:1fr!important}.topbar{gap:4px!important}.top-icon.icon-only{width:30px!important;min-width:30px!important;height:30px!important}.notification-btn .notification-badge{right:-7px!important;top:-7px!important}.table-card table{font-size:12px}.pet-health-summary{grid-template-columns:1fr!important}}
/* Color selector: un solo cuadro visual + hex */
.color-control.clean-color-control{grid-template-columns:minmax(0,1fr) 42px!important}.color-control.clean-color-control:after{content:none!important}.color-control.clean-color-control .color-picker-chip{order:2}.color-control.clean-color-control .color-hex{order:1}.settings-savebar{min-height:auto!important}.settings-savebar .btn{max-height:46px!important}.settings-callout .btn{height:38px!important;min-height:38px!important;width:auto!important}.settings-section{min-height:auto!important}.settings-content{align-content:start!important}.btn{white-space:nowrap}.topbar .sv-icon{fill:currentColor}.menu-group:empty{display:none!important}

/* ===== Ajustes finales: expediente compacto, QR, especies y casos clínicos ===== */
.pet-profile-header{padding:20px 22px;display:block;overflow:hidden}
.pet-profile-main{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.small-pet-photo{width:68px;height:68px;border-radius:18px;flex:0 0 68px}
.pet-title-block{min-width:0;flex:1}.pet-title-block h1{margin:0 0 4px;font-size:30px}.pet-title-block p{margin:0 0 8px;color:var(--text)}
.pet-detail-compact-grid{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr)) auto;gap:10px;align-items:stretch}
.compact-metric{min-height:82px;padding:14px!important;border-radius:16px;background:#f8fbff;display:flex;align-items:center;gap:12px;overflow:hidden}
.compact-metric .sv-icon{background:#eef4ff;border-radius:12px;padding:9px;width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important;color:var(--primary)}
.compact-metric span,.pet-qr-card span{font-size:11px;color:var(--muted);display:block;line-height:1.1}.compact-metric strong{font-size:17px;line-height:1.1;display:block}.compact-metric small{font-size:11px;line-height:1.15;color:var(--muted);display:block;margin-top:2px}.weight-trend{font-style:normal;font-weight:900}.weight-trend.up{color:var(--green)}.weight-trend.down{color:var(--red)}.weight-trend.same{color:var(--muted)}
.pet-qr-card{width:116px;min-height:116px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px;text-align:center;box-shadow:0 8px 24px rgba(15,23,42,.04)}.pet-qr-card img{width:70px;height:70px;object-fit:contain}.pet-qr-card strong{font-size:12px;line-height:1.1;word-break:break-word}.compact-identification{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px;margin-top:0}.identification-chip{background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:11px}.identification-chip span{display:block;font-size:11px;color:var(--muted)}.identification-chip strong{font-size:13px}.pet-health-summary strong{font-size:20px}.pet-health-summary{padding:16px;gap:12px}
.species-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.species-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.mini-reg-card{border:1px solid var(--line);background:#f8fbff;border-radius:16px;padding:14px;display:grid;gap:10px}.mini-reg-card h3{margin:0}.mini-reg-card p{margin:4px 0 0;color:var(--muted)}.inner-table{box-shadow:none;border:0}.settings-action-card{max-width:900px}.compact-btn{height:42px;min-width:112px;padding:9px 14px!important}.centered-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.actions{flex-wrap:wrap}.btn{min-height:38px;white-space:nowrap}.clinical-monitor>div{transition:.2s}.clinical-monitor .vital-low{background:#e0f2fe!important;border-color:#7dd3fc!important;color:#0369a1}.clinical-monitor .vital-normal{background:#dcfce7!important;border-color:#86efac!important;color:#166534}.clinical-monitor .vital-warning{background:#fef3c7!important;border-color:#fcd34d!important;color:#92400e}.clinical-monitor .vital-danger{background:#fee2e2!important;border-color:#fca5a5!important;color:#991b1b}.case-action-modal{max-width:560px}.case-action-form .case-field{display:block}.case-deceased{display:none}.nfc-scan-animation{width:120px;height:120px;margin:18px auto;border-radius:999px;border:1px solid var(--line);position:relative;background:radial-gradient(circle,var(--primary) 0 7px,transparent 8px)}.nfc-scan-animation span,.nfc-scan-animation i{position:absolute;inset:22px;border:2px solid var(--primary);border-radius:999px;animation:nfcPulse 1.4s infinite}.nfc-scan-animation i{inset:8px;animation-delay:.25s;opacity:.5}@keyframes nfcPulse{0%{transform:scale(.7);opacity:.8}100%{transform:scale(1.2);opacity:0}}
.top-icon.clean-top-icon{background:transparent!important;border:0!important;color:var(--primary);min-width:38px;width:38px;height:38px}.top-icon.clean-top-icon .sv-icon{width:19px!important;height:19px!important}.top-icon.theme-toggle .sv-icon{width:22px!important;height:22px!important;filter:drop-shadow(0 1px 0 rgba(0,0,0,.08))}.branch-form.mobile-branch{display:none}
@media(max-width:980px){.pet-detail-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.pet-qr-card{grid-column:1/-1;width:100%;min-height:100px;flex-direction:row}.pet-qr-card img{width:72px;height:72px}.species-admin-grid{grid-template-columns:1fr}.compact-identification{grid-template-columns:1fr 1fr}.top-mobile-branch{display:block}.top-mobile-branch .branch-form{display:block}.topbar>.branch-form{display:none}}
@media(max-width:560px){.pet-profile-main{align-items:flex-start}.pet-header-actions{margin-left:auto}.pet-detail-compact-grid{grid-template-columns:1fr}.compact-identification{grid-template-columns:1fr}.pet-title-block h1{font-size:25px}.compact-metric{min-height:76px}.content{padding:16px}.topbar{padding:0 10px;gap:6px}.clinical-card-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.public-grid{grid-template-columns:1fr!important}}

/* === Ajuste final solicitado: portal público, especies, QR y tarjetas === */
.pet-detail-compact-grid{grid-template-columns:repeat(4,158px) 118px!important;justify-content:start!important;gap:10px!important;align-items:stretch!important}
.compact-metric{width:158px!important;min-width:158px!important;max-width:158px!important;min-height:78px!important;padding:10px 11px!important;gap:8px!important}
.compact-metric .sv-icon{width:32px!important;height:32px!important;padding:7px!important;flex:0 0 32px!important}.compact-metric strong{font-size:16px!important}.compact-metric small{font-size:10.5px!important;white-space:normal!important}.pet-qr-card{width:112px!important;min-width:112px!important;max-width:112px!important;min-height:112px!important;padding:7px!important}.pet-qr-card img{width:66px!important;height:66px!important}.pet-health-summary div strong{white-space:nowrap}.pet-health-summary{grid-template-columns:repeat(4,minmax(150px,1fr))!important}.document-card,.doc-card{align-items:center!important;text-align:center!important}.doc-card .actions{align-items:center!important;justify-content:center!important}.doc-card{padding-bottom:10px!important}.doc-card p{text-align:center!important}.btn,.compact-btn,.btn-small{display:inline-flex;align-items:center;justify-content:center;line-height:1.1!important}.settings-savebar{align-items:center!important;justify-content:flex-end!important;min-height:78px!important}.settings-savebar .btn{height:42px!important;min-height:42px!important;width:auto!important;min-width:126px!important}.settings-callout{min-height:auto!important}.small-form-modal{max-width:480px!important}.modal-form{display:grid;gap:12px}.species-admin-grid{grid-template-columns:minmax(260px,360px) 1fr!important;align-items:start}.species-list-card,.breeds-list-card{max-height:calc(100vh - 190px);overflow:auto}.mini-reg-card{min-height:auto!important}.mini-reg-card .actions .btn{min-width:76px!important;height:34px!important}.inner-table table{min-width:650px}.table-pager{position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--line)}
.owner-portal-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:#f3f7fb}.owner-portal-sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:18px}.owner-brand{display:flex;align-items:center;gap:12px}.owner-brand .brand-mark{width:42px;height:42px;border-radius:14px;background:color-mix(in srgb,var(--primary) 12%,#fff);display:grid;place-items:center;color:var(--primary);font-weight:900}.owner-brand span{display:block;color:var(--muted);font-size:12px}.owner-portal-sidebar nav{display:grid;gap:8px}.owner-portal-sidebar nav a{text-decoration:none;color:var(--text);font-weight:700;padding:10px 12px;border-radius:12px}.owner-portal-sidebar nav a:hover{background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary)}.owner-portal-tools{margin-top:auto;display:flex;gap:8px}.owner-portal-main{padding:22px;max-width:1100px;width:100%;margin:0 auto}.owner-search-card{max-width:none}.owner-patient-card{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:16px;align-items:center}.owner-patient-card h2{font-size:30px;margin:4px 0}.owner-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.owner-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.owner-list{display:grid;gap:10px}.owner-list>div{border:1px solid var(--line);border-radius:14px;padding:12px;background:#f8fbff}.owner-list span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.owner-list p{margin:6px 0 0}.dark .owner-portal-shell{background:#0f141c}.dark .owner-portal-sidebar{background:#151922}.dark .owner-list>div{background:#111827}.nfc-scan-animation{background:radial-gradient(circle,color-mix(in srgb,var(--primary) 100%,#fff) 0 7px,transparent 8px), radial-gradient(circle,color-mix(in srgb,var(--primary) 7%,#fff),transparent 70%)!important}.nfc-scan-animation span,.nfc-scan-animation i{border-color:color-mix(in srgb,var(--primary) 45%,#fff)!important}.top-icon.clean-top-icon{background:transparent!important;box-shadow:none!important}
@media(max-width:980px){.pet-detail-compact-grid{grid-template-columns:repeat(2,158px) 112px!important}.pet-qr-card{grid-column:auto!important;width:112px!important;flex-direction:column!important}.species-admin-grid{grid-template-columns:1fr!important}.owner-portal-shell{grid-template-columns:1fr}.owner-portal-sidebar{position:relative;height:auto;flex-direction:row;align-items:center;overflow:auto}.owner-portal-sidebar nav{display:flex;gap:6px;overflow:auto;white-space:nowrap}.owner-portal-tools{margin-left:auto;margin-top:0}.owner-public-grid,.owner-patient-card{grid-template-columns:1fr}}
@media(max-width:620px){.pet-detail-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.compact-metric{width:auto!important;min-width:0!important;max-width:none!important}.pet-qr-card{grid-column:1/-1!important;max-width:none!important;width:100%!important;min-width:0!important;flex-direction:row!important;min-height:86px!important}.pet-health-summary{grid-template-columns:1fr!important}.owner-portal-main{padding:14px}.owner-portal-sidebar{padding:12px}.owner-brand span{display:none}.owner-portal-sidebar nav a{font-size:13px;padding:8px}}

/* Ajustes finales portal propietario y especies */
.public-owner-body{background:var(--bg);color:var(--text)}
.owner-portal-system-view .owner-portal-main{padding:18px;}
.owner-portal-system-view .owner-search-card{position:sticky;top:0;z-index:5;margin-bottom:14px;}
.owner-portal-system-view .pet-profile-header{padding:18px!important;margin-bottom:14px;}
.readonly-pet-header .pet-profile-main{display:grid;grid-template-columns:64px minmax(180px,1fr) auto;gap:16px;align-items:center;}
.pet-public-qr{width:104px;border:1px solid var(--line);border-radius:16px;padding:7px;background:#fff;text-align:center;display:grid;place-items:center;gap:2px;}
.pet-public-qr img{width:72px;height:72px;display:block;}
.pet-public-qr span{font-size:10px;color:var(--muted);line-height:1;}
.pet-public-qr b{font-size:11px;line-height:1;}
.owner-readonly-metrics{grid-template-columns:repeat(4,minmax(130px,1fr))!important;margin-top:14px;}
.owner-readonly-metrics .mini-detail{min-height:72px!important;padding:10px 12px!important;}
.owner-readonly-tabs{position:sticky;top:74px;z-index:4;background:var(--bg);padding:8px 0;margin:0 0 14px 0;}
.owner-public-grid .card{min-height:unset!important;}
.owner-public-grid table{font-size:13px;}
.public-search{grid-template-columns:minmax(180px,1fr) auto!important;}
.public-search .btn{min-width:110px!important;}
.owner-portal-tools .btn{height:38px!important;min-height:38px!important;}
.species-admin-grid{align-items:start;}
.species-list-card,.breeds-list-card{max-height:none!important;overflow:visible!important;}
.species-card-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important;}
.mini-reg-card .actions{justify-content:flex-start!important;gap:8px!important;}
.mini-reg-card .btn,.breeds-list-card .btn{min-width:auto!important;height:34px!important;min-height:34px!important;padding:0 10px!important;font-size:12px!important;}
.small-form-modal{max-width:430px!important;}
.small-form-modal .modal-form{display:grid;gap:12px;}
@media(max-width:760px){
  .owner-portal-system-view{display:block!important;}
  .owner-portal-sidebar{border-right:0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:8;background:#fff;}
  .readonly-pet-header .pet-profile-main{grid-template-columns:54px 1fr 84px;gap:10px;}
  .pet-public-qr{width:84px;border-radius:12px;padding:5px}.pet-public-qr img{width:56px;height:56px}.pet-public-qr b{font-size:9px}
  .owner-readonly-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .owner-public-grid{grid-template-columns:1fr!important;}
  .public-search{grid-template-columns:1fr!important;}
  .species-card-grid{grid-template-columns:1fr!important;}
}
.dark .pet-public-qr{background:#fff;color:#0f172a;}
.dark .owner-portal-sidebar{background:#151922;}

/* Corrección portal propietario y expediente sistema */
.pet-profile-header .pet-detail-compact-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(150px,1fr)) 112px!important;
  gap:12px!important;
  width:100%!important;
  justify-content:stretch!important;
  align-items:stretch!important;
}
.pet-profile-header .compact-metric{
  min-height:86px!important;
  height:auto!important;
  padding:14px!important;
  overflow:hidden!important;
}
.pet-profile-header .pet-qr-card{
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  min-height:112px!important;
  justify-self:end!important;
}
.pet-profile-header .pet-profile-main{width:100%!important;}
.public-login-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:22px;
  background:linear-gradient(180deg,#f6f9fd,#eef4f9);
}
.public-login-card{
  width:min(460px,100%);
  display:grid;
  gap:14px;
  text-align:center;
  padding:28px!important;
}
.public-login-logo{margin:0 auto;width:58px!important;height:58px!important;border-radius:18px!important;}
.owner-login-form{grid-template-columns:1fr!important;}
.owner-login-form .btn{width:100%;}
.owner-portal-main{padding-top:22px!important;}
.owner-portal-system-view .owner-search-card{position:static!important;}
.owner-portal-sidebar{z-index:4!important;}
.owner-other-pets{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px;}
.owner-pet-link{display:block;text-decoration:none;color:var(--text);padding:9px 10px;border-radius:12px;background:#f8fbff;font-weight:700;}
.owner-pet-link.active,.owner-pet-link:hover{background:color-mix(in srgb,var(--primary) 12%,#fff);color:var(--primary);}
.readonly-pet-header .pet-detail-compact-grid{
  grid-template-columns:repeat(4,minmax(135px,1fr))!important;
}
.pet-public-qr{width:98px;min-height:98px;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;padding:7px;background:#fff;text-align:center;justify-self:end;}
.pet-public-qr img{width:58px;height:58px;object-fit:contain}.pet-public-qr span{font-size:10px;color:var(--muted);line-height:1}.pet-public-qr b{font-size:11px;line-height:1.05}
.public-owner-body .tabs,
.public-owner-body .owner-readonly-tabs{position:static!important;top:auto!important;z-index:auto!important;}
.nfc-scan-animation{width:140px!important;height:140px!important;margin:18px auto!important;border-radius:999px!important;border:0!important;background:radial-gradient(circle,var(--primary) 0 7px,transparent 8px)!important;position:relative!important;display:grid!important;place-items:center!important;}
.nfc-scan-animation span,.nfc-scan-animation i{position:absolute!important;border-radius:999px!important;border:2px solid color-mix(in srgb,var(--primary) 28%,#fff)!important;animation:nfcRipple 1.45s infinite ease-out!important;inset:28px!important;background:transparent!important;}
.nfc-scan-animation i{inset:12px!important;animation-delay:.35s!important;opacity:.65!important;}
@keyframes nfcRipple{0%{transform:scale(.65);opacity:.95}100%{transform:scale(1.25);opacity:0}}

@media(max-width:980px){
  .pet-profile-header .pet-detail-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr)) 104px!important;}
  .pet-profile-header .pet-qr-card{width:104px!important;min-width:104px!important;max-width:104px!important;}
  .readonly-pet-header .pet-detail-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:620px){
  .pet-profile-header .pet-detail-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .pet-profile-header .pet-qr-card{grid-column:1/-1!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:86px!important;flex-direction:row!important;justify-self:stretch!important;}
  .pet-public-qr{width:84px;min-height:84px}.pet-public-qr img{width:48px;height:48px}
  .owner-portal-sidebar{position:relative!important;top:auto!important;}
  .owner-portal-main{padding:14px!important;}
}

/* === Corrección final: expediente sistema, portal propietario, NFC y cards compactas === */
.pet-profile-header{
  padding:22px 24px!important;
  overflow:hidden!important;
}
.pet-profile-header .pet-profile-main{
  display:grid!important;
  grid-template-columns:64px minmax(180px,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  margin-bottom:18px!important;
}
.pet-profile-header .pet-detail-compact-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(145px,1fr)) 116px!important;
  gap:10px!important;
  align-items:stretch!important;
  width:100%!important;
}
.pet-profile-header .compact-metric,
.pet-profile-header .mini-detail{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:86px!important;
  padding:12px 14px!important;
  gap:10px!important;
  display:flex!important;
  align-items:center!important;
}
.pet-profile-header .compact-metric .sv-icon,
.pet-profile-header .mini-detail>.sv-icon{
  width:36px!important;height:36px!important;flex:0 0 36px!important;
}
.pet-profile-header .compact-metric strong{font-size:17px!important;line-height:1.1!important;white-space:nowrap!important}
.pet-profile-header .compact-metric small{font-size:11px!important;line-height:1.2!important;display:block!important;white-space:normal!important;max-width:115px!important}
.pet-profile-header .pet-qr-card{
  width:112px!important;min-width:112px!important;max-width:112px!important;
  min-height:92px!important;height:auto!important;align-self:stretch!important;
  justify-self:end!important;padding:7px!important;border-radius:15px!important;
}
.pet-profile-header .pet-qr-card img{width:66px!important;height:66px!important;object-fit:contain!important}
.pet-profile-header .pet-qr-card span{font-size:10px!important;line-height:1!important}.pet-profile-header .pet-qr-card strong{font-size:11px!important;line-height:1!important}
.pet-health-summary{grid-template-columns:repeat(4,minmax(145px,1fr))!important;gap:12px!important;padding:20px!important}
.pet-health-summary>div{min-height:86px!important;padding:15px!important;border-radius:17px!important}

.clinical-card .actions,
.record-box .actions,
.doc-card .actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:center!important;align-items:center!important}
.clinical-card .btn,
.record-box .btn,
.doc-card .btn,
.btn-small{height:34px!important;min-height:34px!important;min-width:82px!important;padding:0 12px!important;border-radius:12px!important;font-size:12px!important}
.clinical-card .btn-danger,.clinical-card .danger{min-width:96px!important}

.compact-doc-grid{grid-template-columns:repeat(auto-fill,minmax(190px,220px))!important;gap:16px!important;align-items:stretch!important}
.compact-result-card,.doc-card.compact-result-card{min-height:206px!important;max-width:220px!important;padding:0!important;overflow:hidden!important;text-align:center!important;background:var(--card)!important}
.compact-result-card .doc-icon{height:56px;display:grid;place-items:center;background:#f8fbff;border-bottom:1px solid var(--line);color:var(--muted)}
.compact-result-card .doc-icon .sv-icon{width:28px;height:28px}
.compact-result-card h3{font-size:14px!important;line-height:1.25!important;min-height:46px!important;padding:9px 10px!important;margin:0!important;display:grid!important;place-items:center!important}
.compact-result-card p{font-size:12px!important;line-height:1.35!important;min-height:46px!important;padding:7px 10px!important;margin:0!important;text-align:center!important;border-top:1px solid var(--line)}
.compact-result-card .actions{padding:9px!important;margin-top:auto!important}
.pill-small{display:inline-flex;align-items:center;justify-content:center;margin:8px auto 0;background:#eef7fb;color:var(--primary);font-size:11px;font-weight:800;border-radius:999px;padding:4px 10px;max-width:max-content}

/* NFC sin deformaciones: anillos concéntricos estables */
.nfc-modal-card{max-width:420px!important;text-align:center!important;padding:28px!important}
.nfc-scan-animation{width:142px!important;height:142px!important;margin:18px auto!important;border-radius:50%!important;position:relative!important;display:grid!important;place-items:center!important;background:transparent!important;overflow:hidden!important}
.nfc-scan-animation:before,.nfc-scan-animation:after,.nfc-scan-animation span{
  content:'';position:absolute;border-radius:50%;border:2px solid color-mix(in srgb,var(--primary) 26%,#fff);inset:34px;animation:nfcStable 1.8s ease-out infinite;background:transparent!important;
}
.nfc-scan-animation:after{inset:18px;animation-delay:.35s;border-color:color-mix(in srgb,var(--primary) 18%,#fff)}
.nfc-scan-animation span{inset:2px;animation-delay:.7s;border-color:color-mix(in srgb,#ef4444 22%,#fff)}
.nfc-scan-animation i{position:absolute!important;width:16px!important;height:16px!important;border-radius:50%!important;background:var(--primary)!important;border:0!important;box-shadow:0 0 0 8px color-mix(in srgb,var(--primary) 10%,transparent)!important;animation:none!important;inset:auto!important}
@keyframes nfcStable{0%{transform:scale(.72);opacity:.95}100%{transform:scale(1.08);opacity:.08}}

/* Portal del propietario: login limpio y vista similar al expediente interno sin barra pegada */
.public-login-shell{min-height:100vh!important;display:grid!important;place-items:center!important;padding:24px!important;background:linear-gradient(180deg,#f6f9fd,#edf4f8)!important}
.public-login-card{width:min(440px,100%)!important;text-align:center!important;border-radius:22px!important;padding:28px!important}
.owner-portal-shell{grid-template-columns:240px minmax(0,1fr)!important;background:var(--bg)!important}
.owner-portal-sidebar{position:relative!important;top:auto!important;height:auto!important;min-height:100vh!important;z-index:1!important}
.owner-portal-main{max-width:1120px!important;padding:22px!important}
.owner-portal-system-view .owner-search-card{position:static!important;top:auto!important;z-index:auto!important}
.readonly-pet-header{padding:22px!important}
.readonly-pet-header .pet-profile-main{display:grid!important;grid-template-columns:64px minmax(160px,1fr) 98px!important;gap:16px!important;align-items:center!important;margin-bottom:16px!important}
.readonly-pet-header .pet-detail-compact-grid{grid-template-columns:repeat(4,minmax(130px,1fr))!important;gap:10px!important}
.readonly-pet-header .compact-metric{min-height:76px!important;padding:11px 12px!important}
.pet-public-qr{width:96px!important;min-height:96px!important;justify-self:end!important;padding:6px!important}.pet-public-qr img{width:60px!important;height:60px!important}
.owner-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.owner-list>div{min-height:auto!important}

@media(max-width:980px){
  .pet-profile-header .pet-detail-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr)) 104px!important}
  .pet-profile-header .pet-qr-card{width:104px!important;min-width:104px!important;max-width:104px!important}
  .pet-health-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .owner-portal-shell{grid-template-columns:1fr!important}.owner-portal-sidebar{min-height:auto!important;border-right:0!important;border-bottom:1px solid var(--line)!important}.owner-portal-sidebar nav{display:flex!important;overflow:auto!important;white-space:nowrap!important}.owner-portal-tools{margin-top:0!important;margin-left:auto!important}.owner-public-grid{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  .pet-profile-header .pet-profile-main{grid-template-columns:54px minmax(0,1fr)!important}.pet-header-actions{grid-column:1/-1!important;justify-content:flex-start!important}
  .pet-profile-header .pet-detail-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pet-profile-header .pet-qr-card{grid-column:1/-1!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:82px!important;flex-direction:row!important}
  .pet-profile-header .compact-metric strong{font-size:15px!important}.pet-profile-header .compact-metric small{font-size:10px!important;max-width:100%!important}
  .readonly-pet-header .pet-profile-main{grid-template-columns:50px minmax(0,1fr) 84px!important}.readonly-pet-header .pet-detail-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pet-public-qr{width:82px!important;min-height:82px!important}.pet-public-qr img{width:50px!important;height:50px!important}
  .compact-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.compact-result-card{max-width:none!important;min-height:190px!important}.doc-card .btn,.btn-small{min-width:72px!important;font-size:11px!important;padding:0 9px!important}
}

/* Dashboard interactivo agregado: comparativo, pastel y tablas operativas. */
.interactive-dashboard-charts{align-items:stretch}.chart-panel{min-height:360px;overflow:hidden}.chart-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:8px 0 12px;flex-wrap:wrap}.chart-toolbar button{border:0;border-radius:999px;background:#eef6f7;color:var(--muted);padding:8px 12px;font-weight:800;cursor:pointer}.chart-toolbar button.active{background:color-mix(in srgb,var(--primary) 14%,#fff);color:var(--primary)}.sv-chart{display:block;width:100%;height:260px;max-width:100%}.pie-chart-wrap{position:relative;min-height:270px}.pie-canvas{height:270px}.pie-tooltip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#111827;color:#fff;padding:8px 10px;border-radius:8px;font-size:12px;font-weight:800;opacity:0;pointer-events:none;transition:.15s}.pie-legend-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.pie-legend-list span{background:#f8fbff;border:1px solid var(--line);border-radius:999px;padding:7px 10px;color:var(--muted);font-size:12px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pie-legend-list i{display:inline-block;width:9px;height:9px;border-radius:999px;background:var(--primary);margin-right:6px}.pie-legend-list span:nth-child(2) i{background:#7c3aed}.pie-legend-list span:nth-child(3) i{background:#a78bfa}.pie-legend-list span:nth-child(4) i{background:#c4b5fd}.pie-legend-list span:nth-child(5) i{background:#ddd6fe}.table-report-card{overflow:auto}.mini-report-table{width:100%;border-collapse:collapse;margin-top:10px}.mini-report-table th,.mini-report-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.mini-report-table th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.mini-report-table td:nth-child(2){font-size:18px;font-weight:900;color:var(--primary)}.mini-report-table a{font-weight:800;color:var(--primary)}.dark .pie-legend-list span,.dark .chart-toolbar button{background:#151922}.dark .mini-report-table th,.dark .mini-report-table td{border-color:#243041}@media(max-width:780px){.chart-panel{min-height:310px}.sv-chart{height:230px}.pie-canvas{height:240px}.pie-chart-wrap{min-height:240px}.chart-toolbar{justify-content:flex-start}.mini-report-table th,.mini-report-table td{padding:10px 8px;font-size:12px}.mini-report-table td:nth-child(2){font-size:15px}}

/* Corrección final: portal propietario, documentos, acciones y NFC */
.public-login-only{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg,#f4f7fb)}
.standalone-owner-portal{max-width:1180px;margin:0 auto;padding:18px 14px 40px}.owner-portal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.owner-brand.compact{display:flex;gap:10px;align-items:center}.owner-pet-switch{margin-bottom:14px}.owner-pet-switch h2{margin:0 0 10px}.owner-pet-list{display:flex;gap:8px;flex-wrap:wrap}.owner-pet-link{display:inline-flex;align-items:center;padding:9px 14px;border-radius:14px;background:#eef4fb;text-decoration:none;color:var(--text,#0b1f3a);font-weight:700}.owner-pet-link.active{background:color-mix(in srgb,var(--primary) 18%,white);color:var(--primary)}.owner-readonly-header{margin-bottom:10px}.owner-tabs{position:relative;top:auto;z-index:1;margin:12px 0;overflow-x:auto;white-space:nowrap}.owner-tab-content{margin-top:0}.owner-public-grid{display:block}.owner-readonly-metrics{grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.pet-profile-header{overflow:hidden}.pet-profile-main{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.pet-detail-compact-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:10px;margin-top:14px;align-items:stretch}.pet-metric.compact-metric{min-height:84px;padding:14px 14px;display:flex;gap:10px;align-items:center}.pet-metric.compact-metric strong{font-size:18px;line-height:1.1}.pet-metric.compact-metric small,.pet-metric.compact-metric span{display:block;line-height:1.15}.pet-qr-card,.pet-public-qr{width:108px;min-width:108px;align-self:stretch;border:1px solid var(--border,#d7e3f2);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;background:#fff}.pet-qr-card img,.pet-public-qr img{width:76px;height:76px;object-fit:contain}.pet-qr-card span,.pet-public-qr span{font-size:11px;color:var(--muted,#64748b)}.pet-qr-card strong,.pet-public-qr b{font-size:12px}.weight-trend{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;border-radius:999px;font-size:12px}.weight-trend.up{background:#dcfce7;color:#059669}.weight-trend.down{background:#fee2e2;color:#dc2626}.weight-trend.same{background:#e2e8f0;color:#64748b}.pet-health-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pet-health-summary>div{min-height:88px;border:1px solid var(--border,#d7e3f2);border-radius:16px;padding:16px;background:#fff}.clinical-actions{display:grid!important;grid-template-columns:repeat(4,1fr);gap:8px;align-items:center}.clinical-actions .btn{min-width:0;width:100%;height:36px;padding:0 10px}.pet-detail-section-card .clinical-actions,.pet-detail-section-card .actions{justify-content:flex-start}.doc-grid-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;align-items:start}.doc-card{min-height:220px;padding:14px;border-radius:18px;text-align:center;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.doc-card-head{display:flex;justify-content:center;align-items:center;gap:8px;min-height:38px}.doc-card h3{font-size:15px;margin:8px auto;line-height:1.25;max-width:140px}.doc-card .muted{font-size:12px;line-height:1.35;margin:0}.doc-card .actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.doc-card .btn{height:34px;min-width:0;width:100%;padding:0 10px;display:flex;align-items:center;justify-content:center}.dots{display:inline-flex;position:relative}.dots>button{background:transparent!important;border:0!important;box-shadow:none!important;padding:0 4px!important;min-width:28px!important;width:28px!important;height:28px!important;color:var(--text,#0b1f3a);font-size:18px}.actions .dots{vertical-align:middle;margin-left:8px}.table-card td.actions{white-space:nowrap}.nfc-modal-card{text-align:center}.nfc-scan-animation{position:relative;width:128px;height:128px;margin:26px auto;display:flex;align-items:center;justify-content:center}.nfc-scan-animation:before,.nfc-scan-animation:after,.nfc-scan-animation span{content:"";position:absolute;border:2px solid rgba(14,165,163,.25);border-radius:50%;animation:nfcPulse 1.9s ease-in-out infinite}.nfc-scan-animation:before{inset:8px}.nfc-scan-animation:after{inset:24px;animation-delay:.25s}.nfc-scan-animation span{inset:40px;animation-delay:.5s}.nfc-scan-animation i{width:18px;height:18px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 10px color-mix(in srgb,var(--primary) 15%,transparent)}@keyframes nfcPulse{0%,100%{transform:scale(.9);opacity:.45}50%{transform:scale(1.08);opacity:1}}.nfc-scan-animation.error:before,.nfc-scan-animation.error:after,.nfc-scan-animation.error span{border-color:rgba(239,68,68,.22)}.chart-panel canvas{max-height:270px}.doughnut-canvas,.pie-canvas{width:100%;max-width:360px;margin:0 auto;display:block}.mini-report-table{width:100%}.top-icon.clean-top-icon .sv-icon{width:20px;height:20px}.owner-list>div{border:1px solid var(--border,#d7e3f2);border-radius:14px;padding:12px;margin-bottom:10px;background:#fff}.owner-list b,.owner-list span,.owner-list p{display:block;margin:2px 0}.tabs{overflow-x:auto;white-space:nowrap}.clinical-card{min-height:310px;display:flex;flex-direction:column;justify-content:space-between}.clinical-card-head{align-items:flex-start}.clinical-card-head .badge{min-width:70px;min-height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center}.clinical-monitor{grid-template-columns:repeat(4,1fr)}
.inline-action-form{display:inline-flex;margin:0}.actions .inline-action-form,.centered-actions .inline-action-form{display:inline-flex}.drop .inline-action-form{display:block;width:100%}.link-button{width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:9px 10px;border-radius:9px;font:inherit;font-weight:700;cursor:pointer}.link-button:hover{background:#f1f5f9}.link-button.negative{color:var(--red)}
@media (max-width:900px){.pet-profile-main{grid-template-columns:auto 1fr}.pet-header-actions{grid-column:1/-1}.pet-detail-compact-grid{grid-template-columns:repeat(2,1fr)}.pet-qr-card{grid-column:auto;width:auto;min-width:0}.pet-health-summary{grid-template-columns:repeat(2,1fr)}.owner-readonly-metrics{grid-template-columns:repeat(2,1fr)}.doc-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.clinical-actions{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.standalone-owner-portal{padding:12px 8px 30px}.pet-profile-main{grid-template-columns:auto 1fr auto;gap:10px}.small-pet-photo{width:54px;height:54px}.pet-title-block h1{font-size:22px}.pet-detail-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pet-metric.compact-metric{min-height:74px;padding:10px}.pet-metric.compact-metric strong{font-size:15px}.pet-qr-card,.pet-public-qr{width:88px;min-width:88px;padding:6px}.pet-qr-card img,.pet-public-qr img{width:62px;height:62px}.pet-health-summary{grid-template-columns:1fr}.doc-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.doc-card{min-height:198px;padding:10px}.doc-card h3{font-size:13px}.doc-card .muted{font-size:10.5px}.doc-card .btn{height:32px;font-size:11px}.clinical-card-grid{grid-template-columns:1fr}.clinical-card{min-height:auto}.tabs a{padding:10px 12px}.owner-portal-top{position:relative}.public-login-card{width:min(100%,380px)}.top-mobile-branch{display:block}.desktop-branch{display:none!important}}

/* Login moderno configurable */
.login-shell.modern-login-shell{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;padding:32px;background:#eef4f8}
.login-background-layer{position:absolute;inset:0;z-index:-2;background:linear-gradient(135deg,#eef8f7,#f7f9fc);background-size:cover;background-position:center;transform:scale(1.02);animation:loginFloat 18s ease-in-out infinite alternate}
.login-shell.has-login-bg .login-background-layer{background-image:linear-gradient(rgba(245,248,252,.1),rgba(245,248,252,.24)),var(--login-bg)}
.login-background-layer::after{content:"";position:absolute;inset:-18%;background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.24) 42%,transparent 60%);transform:translateX(-42%);animation:loginSweep 10s ease-in-out infinite;pointer-events:none}
.modern-login-card{position:relative;width:min(390px,calc(100vw - 32px));padding:32px;border-radius:20px;background:rgba(255,255,255,.93);border:1px solid rgba(203,216,235,.9);box-shadow:0 24px 70px rgba(15,23,42,.16);backdrop-filter:blur(12px);animation:loginCardRise .45s ease-out both}
.modern-login-card h1{margin:12px 0 4px;font-size:24px;font-weight:700;text-align:center}
.modern-login-card>p{text-align:center;margin:0 0 18px}
.login-brand-badge{width:86px;height:86px;margin:0 auto 10px;border-radius:24px;background:rgba(240,248,255,.92);display:grid;place-items:center;color:var(--primary);font-weight:800;font-size:24px;border:1px solid rgba(14,165,163,.16);box-shadow:0 12px 28px rgba(14,165,163,.1)}
.login-logo-img{max-width:74px;max-height:74px;object-fit:contain}
.modern-login-form{display:grid;gap:14px;margin-top:18px}
.modern-login-form .btn,.login-recovery .btn{width:100%;height:44px}
.login-recovery{margin-top:16px;text-align:center}
.login-recovery summary{cursor:pointer;color:var(--muted);font-weight:600;list-style:none}
.login-recovery summary::-webkit-details-marker{display:none}
.login-recovery form{display:grid;gap:12px;margin-top:14px;text-align:left}
.dark .modern-login-card{background:rgba(20,24,30,.9);border-color:rgba(88,101,122,.65)}
.dark .login-brand-badge{background:rgba(24,32,42,.9)}
@keyframes loginFloat{0%{transform:scale(1.02) translate3d(-6px,-4px,0)}100%{transform:scale(1.07) translate3d(8px,6px,0)}}
@keyframes loginSweep{0%,28%{transform:translateX(-46%)}70%,100%{transform:translateX(46%)}}
@keyframes loginCardRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){.login-shell.modern-login-shell{padding:18px;align-items:center}.modern-login-card{width:min(100%,360px);padding:24px 18px;border-radius:18px}.login-brand-badge{width:74px;height:74px;border-radius:20px}.login-logo-img{max-width:64px;max-height:64px}.login-background-layer{background-position:center center}.modern-login-card h1{font-size:22px}}
.document-card{align-items:stretch!important;text-align:center!important}
.document-card-body,.document-card-actions{width:100%!important}
.document-card .btn{width:100%;min-width:0}

.sv-fine-ui,.sv-fine-ui *{font-weight:400}
.sv-fine-ui h1,.sv-fine-ui h2,.sv-fine-ui h3{font-weight:600;letter-spacing:0}
.sv-fine-ui .btn,.sv-fine-ui button,.sv-fine-ui label{font-weight:500}
.document-toolbar.sv-fine-ui{grid-template-columns:minmax(220px,1fr) 160px 160px 145px 145px;gap:10px}
.document-filter-message{margin:8px 0 14px;color:#b45309;font-size:13px;font-weight:500}
.document-card-compact{min-height:218px!important;border-radius:8px!important;box-shadow:0 8px 22px rgba(15,23,42,.045)!important}
.document-card-compact .document-card-top{height:28px;padding:8px 12px 0}
.document-card-compact .document-icon{height:48px}
.document-card-compact h3{min-height:38px;font-size:14px;font-weight:600}
.document-card-pet{margin:8px 14px 0;color:var(--text);font-size:13px;font-weight:500}
.document-card-date{margin:2px 14px 0;color:var(--muted);font-size:12px;font-weight:400}
.document-card-compact .document-type-pill{font-weight:500;font-size:10.5px;background:#f3f7fb;color:#58708d}
.document-card-compact .document-card-actions{padding:10px 14px 14px;display:flex;justify-content:center;gap:8px}
.icon-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--primary);display:inline-grid;place-items:center}
.icon-btn:hover{background:color-mix(in srgb,var(--primary) 9%,#fff);transform:translateY(-1px)}
.icon-btn .sv-icon{width:17px!important;height:17px!important;max-width:17px!important;max-height:17px!important}
@media(max-width:900px){.document-toolbar.sv-fine-ui{grid-template-columns:1fr 1fr}.document-toolbar.sv-fine-ui input:first-child{grid-column:1/-1}}
@media(max-width:560px){.document-toolbar.sv-fine-ui{grid-template-columns:1fr}.document-card-compact{min-height:204px!important}}

.pet-avatar-frame{position:relative;overflow:visible!important;background:linear-gradient(180deg,#f8fbff,#eef4fb)!important}
.pet-avatar-frame img,.pet-avatar-frame .species-avatar{border-radius:inherit;overflow:hidden}
.species-avatar{display:grid!important;place-items:center!important;width:100%;height:100%;color:color-mix(in srgb,var(--primary) 70%,#1f2937)}
.pet-species-svg{width:58%!important;height:58%!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.pet-avatar-birthday{box-shadow:0 0 0 2px #fde68a,0 8px 24px rgba(245,158,11,.16)!important}
.pet-avatar-birthday:before{content:'';position:absolute;right:-5px;top:-7px;width:13px;height:18px;border-radius:50% 50% 45% 45%;background:#60a5fa;box-shadow:-13px 5px 0 #f472b6;z-index:2}
.pet-avatar-birthday:after{content:'';position:absolute;right:0;top:9px;width:1px;height:14px;background:#94a3b8;box-shadow:-13px 5px 0 #94a3b8;z-index:1}

.clinical-card-modern{min-height:auto!important;border-radius:8px!important;padding:18px!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important;border-left:0!important;display:flex!important;gap:12px!important}
.clinical-card-modern:before{display:none!important}
.clinical-card-modern .clinical-card-head{align-items:flex-start!important}
.clinical-card-modern .clinical-card-head .badge{display:none!important}
.clinical-card-modern h3{font-weight:600;font-size:20px;letter-spacing:0}
.clinical-card-modern p,.clinical-record-box{font-weight:400}
.case-status-dot{display:inline-flex;align-items:center;gap:6px;min-width:0!important;min-height:0!important;border-radius:999px!important;padding:7px 10px!important;background:#f8fafc!important;color:#475569!important;font-size:12px!important;font-weight:500!important;line-height:1!important;white-space:nowrap}
.case-status-dot:before{content:'';width:7px;height:7px;border-radius:999px;background:#94a3b8;display:inline-block}
.case-status-open:before,.case-status-observation:before,.case-status-in-treatment:before{background:#0ea5a3}
.case-status-stable:before,.case-status-improving:before,.case-status-recovered:before,.case-status-resolved:before,.case-status-closed:before{background:#16a34a}
.case-status-critical:before,.case-status-worsening:before,.case-status-deceased:before{background:#dc2626}
.clinical-actions-slim{display:flex!important;grid-template-columns:none!important;justify-content:flex-start!important;gap:8px!important;margin-top:auto}
.clinical-actions-slim .case-status-trigger{width:auto!important;min-width:142px!important;height:34px!important;border-radius:8px!important;font-weight:500!important}
.case-pdf-icon{flex:0 0 34px!important;min-width:34px!important;text-decoration:none}
.clinical-record-box{border-radius:8px!important;border:1px solid var(--line)!important;box-shadow:0 8px 22px rgba(15,23,42,.035)!important;background:#fff!important;padding:16px!important;margin-bottom:14px!important}
.clinical-case-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.clinical-case-title b{font-size:16px;font-weight:600}
.case-action-selector select{font-weight:400}
@media(max-width:560px){
  .clinical-card-modern h3{font-size:18px}
  .clinical-case-title{display:grid;grid-template-columns:1fr}
  .clinical-actions-slim .case-status-trigger{min-width:0!important;width:calc(100% - 42px)!important}
}

/* Afinado solicitado: siluetas, especies/razas, mascotas y estado sin barra lateral. */
.pet-silhouette-svg{width:96%!important;height:96%!important;max-width:96%!important;max-height:96%!important;fill:none!important;stroke:currentColor!important;stroke-width:5!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.species-avatar{color:#0f172a!important;background:#f8fafc!important}
.avatar .species-avatar,.pet-photo .species-avatar{background:transparent!important}
.pet-list-cell{min-width:210px;align-items:center!important}
.pet-list-cell .avatar{width:64px!important;height:64px!important;border-radius:16px!important;background:#f8fafc!important;color:#0f172a!important}
.pet-list-cell strong{font-weight:600}
.pet-weight-cell{white-space:nowrap!important;min-width:112px!important}
.pet-weight-cell strong,.pet-weight-cell span{display:block!important;line-height:1.25!important}
.pet-row-actions{display:grid!important;grid-template-columns:auto auto 30px!important;justify-content:start!important;align-items:center!important;gap:10px!important;white-space:nowrap!important;min-width:150px!important}
.pet-row-actions>a{font-weight:500;color:#0f172a;line-height:1!important}
.pet-row-actions .dots{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;margin:0!important}
.pet-row-actions .dots>button{color:var(--primary)!important;margin:0!important}
.table-card td.pet-row-actions{vertical-align:middle!important;padding-top:14px!important;padding-bottom:14px!important}
.owner-info-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.owner-info-head h2{margin:0}
.owner-contact-actions{display:flex;gap:8px;align-items:center}
.owner-contact-actions .icon-btn{width:32px;height:32px;border-radius:999px;color:#0f766e;background:#f0fdfa}
.pet-health-status-card{position:relative!important;border-left:0!important;padding:18px!important;box-shadow:0 10px 28px rgba(15,23,42,.045)!important}
.pet-health-status-card:before{content:none!important;display:none!important}
.pet-health-status-card>div{position:relative;background:#fff!important;border-radius:10px!important;min-height:82px!important}
.pet-health-status-card .status-card-main:before{content:'';display:inline-block;width:8px;height:8px;border-radius:999px;background:#16a34a;margin-right:7px;vertical-align:middle}
.pet-health-status-card.status-warning .status-card-main:before{background:#f59e0b}
.pet-health-status-card.status-danger .status-card-main:before{background:#dc2626}

.species-admin-shell{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:16px;align-items:start}
.section-head-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.section-head-inline h2{margin:0}
.species-row-list{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
.species-row-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding:12px!important;border-radius:10px!important;background:#fff!important}
.species-row-main{display:flex;align-items:center;gap:12px;min-width:0}
.species-avatar-preview{width:52px;height:52px;border-radius:12px;background:#f8fafc;color:#0f172a;display:grid;place-items:center;flex:0 0 52px;border:1px solid var(--line)}
.species-avatar-preview .pet-silhouette-svg{width:78%!important;height:78%!important}
.species-row-main h3{font-size:16px!important;font-weight:600!important;margin:0!important}
.species-row-main p{font-size:13px!important;margin:2px 0 0!important}
.species-row-meta{justify-self:end}
.species-row-actions{grid-column:1/-1;display:flex!important;justify-content:flex-start!important;gap:8px!important;align-items:center!important}
.species-row-actions .btn,.species-row-actions .inline-action-form .btn{border-radius:8px!important;min-width:auto!important;height:32px!important;padding:0 10px!important;font-weight:500!important}
.species-breeds-panel .inner-table{border:1px solid var(--line)!important;border-radius:12px!important;overflow:auto!important}
.species-breeds-table th,.species-breeds-table td{padding:12px 14px!important}
.species-breeds-table td.actions{white-space:normal!important}
.species-avatar-preview .species-image{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:inherit!important}
@media(max-width:980px){.species-admin-shell{grid-template-columns:1fr}.pet-row-actions{justify-content:flex-start!important}}
@media(max-width:620px){.pet-list-cell .avatar{width:46px!important;height:46px!important}.pet-row-actions{gap:8px!important}.species-row-card{grid-template-columns:1fr!important}.species-row-meta{justify-self:start}}

/* Fine visual pass: lighter typography, aligned pet rows, local silhouettes and modern NFC. */
body{font-weight:400!important}
h1,h2,h3,.page-title h1,.brand-title,.row-title{font-weight:560!important;letter-spacing:0!important}
b,strong,.top-icon,.menu-item,.badge,.pill-small,.document-id,.document-menu,.link-button{font-weight:500!important}
th,.menu-group-title,.owner-label,.document-meta-row span{font-weight:500!important;letter-spacing:0!important}
.btn,.btn-small,.tabs a,.wizard-tab,.chart-toolbar button,.quick-report-grid a,.mini-report-table a{font-weight:500!important}
.muted,.page-title p,.document-card-date,.document-card-pet,.pie-legend-list span{font-weight:400!important}
.positive,.negative,.weight-up,.weight-down,.weight-same{font-weight:500!important}
.mini-report-table td:nth-child(2){font-size:16px!important;font-weight:500!important;color:var(--primary)!important}
.mini-report-table a{font-weight:500!important;color:var(--primary)!important}
.quick-report-grid a{font-weight:400!important;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.quick-report-grid a:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 34%,var(--line));background:#fbfdff}
.quick-report-grid b{font-weight:500!important}

.compare-bar,.compare-bar i{transition:transform .18s ease,filter .18s ease,opacity .18s ease,box-shadow .18s ease}
.compare-bar i{transform-origin:bottom center}
.compare-bar:hover i{transform:translateY(-5px) scaleY(1.04);filter:brightness(1.08);box-shadow:0 12px 24px rgba(15,23,42,.12)}
.compare-bar:hover span,.compare-bar:hover b{font-weight:500!important;color:var(--primary)}
.pie-canvas{cursor:pointer;transition:filter .2s ease,transform .2s ease}
.pie-canvas:hover{filter:drop-shadow(0 12px 18px rgba(15,23,42,.10));transform:translateY(-1px)}
.pie-tooltip{font-weight:500!important}
.pie-legend-list b{font-weight:500!important}

.pet-actions-cell{white-space:nowrap!important;vertical-align:middle!important;min-width:154px!important}
.pet-row-actions{display:inline-grid!important;grid-template-columns:auto auto 28px!important;align-items:center!important;justify-content:start!important;gap:12px!important;white-space:nowrap!important;line-height:1!important}
.pet-row-actions>a{display:inline-flex!important;align-items:center!important;min-height:28px!important;font-weight:500!important;color:#0f172a!important}
.pet-row-actions .dots{display:inline-grid!important;place-items:center!important;width:28px!important;height:28px!important;margin:0!important;align-self:center!important}
.pet-row-actions .dots>button{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;min-width:28px!important;padding:0!important;margin:0!important;line-height:1!important;color:var(--primary)!important}
.pet-weight-cell{min-width:132px!important;white-space:nowrap!important}
.pet-weight-cell strong{display:block!important;font-weight:500!important;line-height:1.2!important;white-space:nowrap!important}
.pet-weight-delta{display:inline-flex!important;align-items:center!important;gap:4px!important;white-space:nowrap!important;line-height:1.2!important;font-weight:500!important}
.pet-list-cell{min-width:230px!important}
.pet-list-cell .avatar{width:58px!important;height:58px!important;border-radius:14px!important}
.pet-list-cell strong{font-weight:500!important}

.species-avatar{color:#111827!important;background:#f8fafc!important}
.pet-silhouette-svg{width:88%!important;height:88%!important;max-width:88%!important;max-height:88%!important;fill:currentColor!important;stroke:none!important}
.pet-silhouette-svg path{fill:currentColor!important;stroke:none!important}
.species-avatar-preview .pet-silhouette-svg{width:82%!important;height:82%!important}
.pet-photo .pet-silhouette-svg{width:82%!important;height:82%!important}

.nfc-modal-card{max-width:430px!important}

/* Production polish: compact documents, expediente cases and NFC scanner. */
.lab-result-form{margin-top:0!important;align-items:start!important}
.lab-result-form .lab-template-hint{margin:0!important;min-height:0!important}
.lab-result-form .lab-template-fields:empty{display:none!important}

.expediente-case-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:12px!important;align-items:start!important}
.expediente-case-card{min-height:0!important;margin:0!important;padding:14px!important;border-radius:10px!important;box-shadow:0 8px 20px rgba(15,23,42,.035)!important}
.expediente-case-card .clinical-case-title{gap:10px!important;margin-bottom:8px!important}
.expediente-case-card .clinical-case-title b{font-size:15px!important;font-weight:500!important}
.expediente-case-card .case-monitor{grid-template-columns:1fr!important;gap:8px!important}
.expediente-case-card .identification-chip{min-height:0!important;padding:9px 10px!important;border-radius:9px!important}
.expediente-case-card .vital-chart{min-height:98px!important;padding:10px!important;border-radius:10px!important}
.expediente-case-card .clinical-actions-slim{justify-content:center!important;margin-top:10px!important}
.expediente-case-card .clinical-actions-slim .case-status-trigger{min-width:132px!important;height:32px!important}

.document-card-grid,.expediente-document-grid{justify-content:center!important;align-items:start!important;grid-template-columns:repeat(auto-fit,minmax(180px,220px))!important;gap:14px!important}
.document-card-compact,.compact-result-card,.doc-card.compact-result-card{min-height:0!important;max-width:220px!important;height:auto!important;padding:14px!important;border-radius:10px!important;text-align:center!important;align-items:center!important;justify-content:flex-start!important;box-shadow:0 8px 22px rgba(15,23,42,.035)!important;background:#fff!important}
.document-card-compact .document-card-top{width:100%!important;height:auto!important;padding:0!important;justify-content:center!important;gap:8px!important}
.document-card-compact .document-icon,.compact-result-card .doc-icon{width:42px!important;height:42px!important;min-height:42px!important;margin:4px auto 8px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#f7fafc!important;color:#6b7d95!important;display:grid!important;place-items:center!important}
.document-card-compact .document-icon .sv-icon,.compact-result-card .doc-icon .sv-icon{width:22px!important;height:22px!important}
.document-card-compact h3,.compact-result-card h3{width:100%!important;min-height:0!important;margin:4px 0!important;padding:0 4px!important;border:0!important;box-shadow:none!important;background:transparent!important;font-size:14px!important;line-height:1.25!important;font-weight:500!important;text-align:center!important}
.document-card-compact p,.compact-result-card p{min-height:0!important;margin:4px 0 0!important;padding:0!important;border:0!important;font-size:12px!important;line-height:1.3!important}
.document-card-compact .document-card-actions,.compact-result-card .actions{width:100%!important;margin-top:12px!important;padding:0!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important}
.compact-result-card .btn{width:auto!important;min-width:82px!important;height:32px!important;padding:0 10px!important;border-radius:8px!important}
.document-card-compact .icon-btn{width:32px!important;height:32px!important;border-radius:8px!important}

@media(max-width:680px){
  .expediente-case-grid{grid-template-columns:1fr!important}
  .document-card-grid,.expediente-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .document-card-compact,.compact-result-card,.doc-card.compact-result-card{max-width:none!important}
}
@media(max-width:430px){
  .document-card-grid,.expediente-document-grid{grid-template-columns:1fr!important}
}

/* Expediente polish: left aligned compact lists with subtle pagination. */
.expediente-card-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;align-items:start!important;justify-content:start!important;width:100%!important}
.expediente-card-grid .doc-card,
.expediente-card-grid .document-card-compact,
.expediente-card-grid .expediente-case-card,
.expediente-treatment-card{width:100%!important;max-width:none!important;min-height:162px!important;padding:12px!important;border-radius:10px!important;text-align:left!important;align-items:flex-start!important;box-shadow:0 6px 18px rgba(15,23,42,.035)!important}
.expediente-card-grid .doc-icon,
.expediente-card-grid .document-icon{width:50px!important;height:50px!important;min-height:50px!important;margin:0 0 10px!important;border-radius:12px!important;color:#63758d!important}
.expediente-card-grid .doc-icon .sv-icon,
.expediente-card-grid .document-icon .sv-icon{width:26px!important;height:26px!important}
.expediente-card-grid h3,
.expediente-card-grid .document-card-compact h3{font-size:13px!important;line-height:1.25!important;text-align:left!important;margin:0 0 6px!important;padding:0!important;place-items:start!important}
.expediente-card-grid p,
.expediente-card-grid .document-card-pet,
.expediente-card-grid .document-card-date{font-size:12px!important;text-align:left!important;margin:0 0 4px!important;padding:0!important}
.expediente-card-note{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);line-height:1.35}
.expediente-card-grid .compact-list{font-size:11.5px;margin:8px 0 0;padding-left:16px;color:var(--muted)}
.expediente-card-grid .actions,
.expediente-card-grid .document-card-actions{justify-content:flex-start!important;align-items:center!important;gap:6px!important;margin-top:auto!important;padding:8px 0 0!important;width:100%!important}
.expediente-card-grid .btn,
.expediente-card-grid .icon-btn{height:30px!important;min-height:30px!important;min-width:0!important;border-radius:8px!important;font-size:11.5px!important}
.culture-icon-only .mini-plus{width:17px;height:17px;border-radius:999px;display:inline-grid;place-items:center;background:color-mix(in srgb,var(--primary) 14%,#fff);color:var(--primary);font-weight:600}
@keyframes culturePlusPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(14,165,163,.16)}50%{transform:scale(1.08);box-shadow:0 0 0 5px rgba(14,165,163,0)}}
.expediente-case-card .clinical-case-title{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-bottom:8px!important}
.expediente-case-card .case-status-dot{justify-self:start!important}
.expediente-case-card .clinical-actions-slim{justify-content:flex-start!important;margin-top:8px!important}
.expediente-case-card .clinical-actions-slim .case-status-trigger{min-width:118px!important;width:auto!important}
.expediente-pager{justify-content:flex-start!important;margin-top:10px!important;padding:0!important}
.table-pager{position:static!important;border-top:0!important;background:transparent!important;padding:8px 0!important;gap:6px!important}
.table-pager .btn-small,
.document-pager button{height:28px!important;min-height:28px!important;min-width:32px!important;width:auto!important;padding:0 10px!important;border-radius:9px!important;font-size:12px!important;font-weight:500!important}

.document-library-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;justify-content:start!important;align-items:start!important;gap:14px!important;margin:0!important}
.document-library-grid .document-card-compact{max-width:none!important;width:100%!important;min-height:184px!important;text-align:left!important;align-items:flex-start!important}
.document-library-grid .document-card-top{justify-content:flex-start!important}
.document-library-grid .document-icon{margin:6px 0 10px!important;width:48px!important;height:48px!important}
.document-library-grid h3{text-align:left!important}
.document-library-grid .document-card-actions{justify-content:flex-start!important}

.species-admin-view-species .breeds-list-card,
.species-admin-view-breeds .species-list-card{display:none!important}
.species-admin-view{grid-template-columns:1fr!important}
.species-admin-tabs{margin:0 0 14px!important}
.species-admin-view .species-list-card,
.species-admin-view .breeds-list-card{max-height:none!important}
.species-admin-view .species-breeds-table table{min-width:720px!important}

@media(max-width:1180px){
  .expediente-card-grid,.document-library-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:920px){
  .expediente-card-grid,.document-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .expediente-card-grid,.document-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:430px){
  .expediente-card-grid,.document-library-grid{grid-template-columns:1fr!important}
}

/* Laboratory results: document-like cards with the old table kept only as fallback markup. */
.table-card:has(#labResultsTable){display:none!important}
.lab-results-card-grid{margin-top:16px!important}
.lab-result-card .document-card-actions{flex-wrap:nowrap!important}
.lab-result-exams{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:31px!important}
.lab-no-file{font-size:12px!important;align-self:center}
.lab-origin-external .document-type-pill{background:#fff7db!important;color:#9a6700!important}
.lab-origin-internal .document-type-pill{background:#e7faf8!important;color:var(--primary)!important}

/* Compact expediente/document cards for production review lists. */
.expediente-list-card{min-height:138px!important;padding:12px!important;display:flex!important;flex-direction:column!important;gap:6px!important;text-align:left!important;align-items:flex-start!important;justify-content:flex-start!important}
.expediente-list-card .doc-icon,.expediente-list-card .document-icon{display:none!important}
.expediente-card-kicker{display:inline-flex!important;align-items:center!important;min-height:24px!important;padding:4px 9px!important;border-radius:999px!important;background:#f3f7fb!important;color:#52657f!important;font-size:11px!important;font-weight:500!important;line-height:1!important}
.expediente-list-card h3{font-size:14px!important;line-height:1.22!important;font-weight:500!important;margin:0!important;padding:0!important;min-height:0!important;text-align:left!important;display:block!important;background:transparent!important;border:0!important}
.expediente-card-pet{font-size:12px!important;line-height:1.2!important;color:var(--muted)!important;margin:0!important;padding:0!important;text-align:left!important}
.expediente-case-summary,.expediente-treatment-summary,.expediente-list-card .lab-result-exams,.lab-result-finding{font-size:12px!important;line-height:1.32!important;color:var(--muted)!important;margin:0!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.expediente-card-meta{font-size:11.5px!important;color:var(--muted)!important;margin:0!important;line-height:1.2!important}
.expediente-icon-actions,.lab-result-action-icons{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;margin-top:auto!important;width:100%!important;padding:6px 0 0!important;grid-template-columns:none!important}
.lab-result-card .document-card-actions.lab-result-action-icons{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important}
.expediente-icon-actions .icon-btn,.lab-result-action-icons .icon-btn{width:30px!important;height:30px!important;min-width:30px!important;border-radius:8px!important}
.expediente-case-card .expediente-icon-actions .case-status-trigger.icon-btn{width:30px!important;min-width:30px!important;height:30px!important;padding:0!important}
.expediente-icon-actions .case-status-trigger{padding:0!important;background:#fff!important;color:var(--primary)!important;border:1px solid var(--line)!important}
.expediente-icon-actions .culture-icon-only,.lab-result-action-icons .culture-icon-only{height:30px!important;min-height:30px!important;border-radius:8px!important;font-size:11.5px!important}
.document-card-line{font-size:12px!important;line-height:1.25!important;margin:0 0 3px!important;padding:0!important;text-align:left!important;color:var(--muted)!important}
.document-library-grid .document-card-compact h3,.expediente-doc-grid .document-card-compact h3{font-size:14px!important;line-height:1.22!important;min-height:0!important;margin:6px 0!important}
.lab-results-card-grid .document-card-compact{min-height:172px!important;padding:12px!important}
.lab-results-card-grid .document-icon{display:none!important}
.roles-registry{margin-bottom:14px!important}
.roles-registry-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.role-registry-item{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;display:grid;gap:3px;align-items:start}
.role-registry-item strong{font-weight:500}
.role-registry-item span{font-size:12px;color:var(--muted)}
.role-create-card{grid-column:1/-1}

/* Final polish: aligned document/result cards and compact range filters. */
.document-toolbar{grid-template-columns:minmax(220px,1.4fr) minmax(132px,.7fr) minmax(132px,.7fr) minmax(156px,.7fr)!important;align-items:start!important}
.date-range-filter{position:relative;min-width:0}
.date-range-trigger{cursor:pointer;background:#fff!important;text-align:left!important}
.date-range-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:min(320px,calc(100vw - 40px));padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 32px rgba(15,23,42,.12);display:grid;grid-template-columns:1fr 1fr;gap:10px}
.date-range-panel[hidden]{display:none!important}
.date-range-panel label{display:grid;gap:5px;font-size:11px;color:var(--muted)}
.date-range-panel button{grid-column:1/-1;justify-self:start}
.document-library-grid .document-card-compact,.lab-results-card-grid .document-card-compact{min-height:216px!important;padding:16px!important;text-align:left!important;align-items:flex-start!important;display:flex!important;flex-direction:column!important;gap:7px!important}
.document-library-grid .document-card-compact .document-card-top,.lab-results-card-grid .document-card-compact .document-card-top{width:100%!important;padding:0!important;height:auto!important;justify-content:flex-start!important;gap:8px!important}
.document-library-grid .document-card-compact .document-icon,.lab-results-card-grid .document-card-compact .document-icon{width:42px!important;height:42px!important;min-height:42px!important;margin:6px 0 8px!important}
.document-library-grid .document-card-compact h3,.lab-results-card-grid .document-card-compact h3{width:100%!important;min-height:38px!important;margin:0!important;padding:0!important;text-align:left!important;display:block!important;place-items:unset!important;font-size:14px!important;line-height:1.25!important}
.document-library-grid .document-card-compact p,.lab-results-card-grid .document-card-compact p{width:100%!important;text-align:left!important;margin:0!important;padding:0!important}
.document-library-grid .document-card-actions,.lab-results-card-grid .document-card-actions{margin-top:auto!important;padding:8px 0 0!important;justify-content:flex-start!important;display:flex!important;gap:8px!important;flex-wrap:nowrap!important}
.culture-icon-only{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;border-radius:8px!important}
.culture-icon-only .mini-plus{font-size:15px!important;line-height:1!important;margin:0!important}
@media(max-width:720px){.document-toolbar{grid-template-columns:1fr 1fr!important}.document-toolbar #documentSearch{grid-column:1/-1}.date-range-panel{right:auto;left:0}}
@media(max-width:460px){.document-toolbar{grid-template-columns:1fr!important}}

/* Uniform compact cards: same height, left aligned content, no overflowing actions. */
.document-library-grid,
.lab-results-card-grid,
.expediente-card-grid,
.expediente-document-grid{grid-auto-rows:1fr!important;align-items:stretch!important}
.document-library-grid .document-card-compact,
.lab-results-card-grid .document-card-compact{height:216px!important;min-height:216px!important;max-height:216px!important;overflow:hidden!important}
.expediente-card-grid .expediente-list-card,
.expediente-doc-grid .document-card-compact{height:166px!important;min-height:166px!important;max-height:166px!important;overflow:hidden!important}
.expediente-case-grid .expediente-list-card,
.expediente-treatment-grid .expediente-list-card{height:176px!important;min-height:176px!important;max-height:176px!important}
.document-card-compact .document-card-top,
.lab-result-card .document-card-top{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;min-height:26px!important;margin:0!important}
.document-card-compact .document-id,
.document-card-compact .document-type-pill,
.lab-result-card .document-id,
.lab-result-card .document-type-pill{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:24px!important;margin:0!important;padding:0 9px!important;line-height:1!important;white-space:nowrap!important}
.document-card-compact h3,
.lab-result-card h3{align-self:stretch!important;text-align:left!important}
.document-card-compact .document-card-actions,
.lab-result-action-icons,
.expediente-icon-actions{min-height:32px!important;overflow:hidden!important}
.culture-icon-only{display:inline-grid!important;place-items:center!important;overflow:hidden!important}
.culture-icon-only .mini-plus{width:18px!important;height:18px!important;border-radius:999px!important;display:inline-grid!important;place-items:center!important;background:color-mix(in srgb,var(--primary) 14%,#fff)!important;color:var(--primary)!important;font-size:14px!important;font-weight:600!important}

/* Final card correction: more breathing room without uneven cards. */
.document-library-grid .document-card-compact{height:232px!important;min-height:232px!important;max-height:232px!important;overflow:hidden!important}
.lab-results-card-grid .document-card-compact{height:270px!important;min-height:270px!important;max-height:270px!important;overflow:hidden!important}
.expediente-treatment-grid .expediente-list-card{height:230px!important;min-height:230px!important;max-height:230px!important;overflow:hidden!important}
.expediente-case-grid .expediente-list-card{height:230px!important;min-height:230px!important;max-height:230px!important;overflow:hidden!important}
.expediente-lab-grid .expediente-list-card,
.expediente-doc-grid .document-card-compact{height:198px!important;min-height:198px!important;max-height:198px!important;overflow:hidden!important}
.document-card-compact{gap:7px!important}
.document-card-compact h3{min-height:34px!important;display:block!important}
.document-library-grid .document-card-compact{padding:14px!important}
.document-library-grid .document-card-compact .document-icon{width:40px!important;height:40px!important;min-height:40px!important;margin:4px 0 6px!important}
.document-library-grid .document-card-compact h3{margin:0 0 2px!important;line-height:1.2!important}
.document-library-grid .document-card-compact .document-card-line{margin:0!important;line-height:1.25!important}
.document-library-grid .document-card-actions{padding-top:6px!important}
.document-card-pet{line-height:1.35!important;margin-top:4px!important}
.document-card-date{line-height:1.35!important;margin-top:2px!important}
.lab-result-finding{min-height:54px!important;-webkit-line-clamp:3!important;line-height:1.35!important}
.expediente-treatment-summary,
.expediente-case-summary{min-height:38px!important;-webkit-line-clamp:2!important;line-height:1.35!important}
.document-card-actions,
.lab-result-action-icons,
.expediente-icon-actions{margin-top:auto!important;align-items:center!important;overflow:visible!important}
.culture-icon-only .mini-plus{animation:none!important;box-shadow:none!important}

/* NFC scanner: local tag plus scanning beam. */
.nfc-scan-animation{position:relative!important;width:154px!important;height:124px!important;display:grid!important;place-items:center!important;margin:20px auto 18px!important;overflow:hidden!important;border-radius:22px!important;background:linear-gradient(180deg,#fbfdff 0%,#f4f9fc 100%)!important;box-shadow:inset 0 0 0 1px rgba(14,165,163,.14),0 14px 30px rgba(15,23,42,.08)!important;isolation:isolate!important}
.nfc-scan-animation:before{content:''!important;position:absolute!important;inset:13px!important;border:1px solid rgba(14,165,163,.18)!important;border-radius:18px!important;background:linear-gradient(90deg,rgba(14,165,163,.08) 1px,transparent 1px) 0 0/18px 18px,linear-gradient(180deg,rgba(14,165,163,.08) 1px,transparent 1px) 0 0/18px 18px!important;opacity:.55!important;animation:none!important}
.nfc-scan-animation:after{content:''!important;position:absolute!important;left:18px!important;right:18px!important;top:16px!important;height:14px!important;border:0!important;border-radius:999px!important;background:linear-gradient(90deg,transparent,rgba(14,165,163,.62),transparent)!important;box-shadow:0 0 16px rgba(14,165,163,.34),0 0 34px rgba(14,165,163,.18)!important;animation:nfcScanBeam 1.6s ease-in-out infinite!important;z-index:3!important}
.nfc-scan-animation span{position:absolute!important;left:50%!important;top:50%!important;width:64px!important;height:46px!important;margin:0!important;transform:translate(-50%,-50%)!important;border-radius:14px!important;border:1px solid rgba(14,165,163,.30)!important;background:linear-gradient(180deg,#fff,#eef8f8)!important;box-shadow:0 10px 24px rgba(15,23,42,.10),inset 0 0 0 1px rgba(255,255,255,.7)!important;animation:nfcChipReady 2.4s ease-in-out infinite!important;z-index:2!important}
.nfc-scan-animation span:before{content:''!important;position:absolute!important;left:14px!important;right:14px!important;top:13px!important;height:18px!important;border-top:3px solid rgba(14,165,163,.52)!important;border-bottom:3px solid rgba(14,165,163,.52)!important;border-radius:10px!important}
.nfc-scan-animation span:after{content:''!important;position:absolute!important;right:10px!important;top:9px!important;width:8px!important;height:8px!important;border-radius:50%!important;background:var(--primary)!important;box-shadow:0 20px 0 rgba(14,165,163,.42)!important}
.nfc-scan-animation i{position:absolute!important;left:50%!important;bottom:14px!important;width:72px!important;height:6px!important;transform:translateX(-50%)!important;border:0!important;border-radius:999px!important;background:linear-gradient(90deg,rgba(14,165,163,.12),var(--primary),rgba(14,165,163,.12))!important;box-shadow:0 0 12px rgba(14,165,163,.36)!important;animation:nfcScanStatus 1.6s ease-in-out infinite!important;z-index:4!important}
.nfc-scan-animation.error:before{border-color:rgba(220,38,38,.18)!important;background:linear-gradient(90deg,rgba(220,38,38,.06) 1px,transparent 1px) 0 0/18px 18px,linear-gradient(180deg,rgba(220,38,38,.06) 1px,transparent 1px) 0 0/18px 18px!important}
.nfc-scan-animation.error:after{background:linear-gradient(90deg,transparent,rgba(220,38,38,.52),transparent)!important;box-shadow:0 0 16px rgba(220,38,38,.26)!important}
.nfc-scan-animation.error span{border-color:rgba(220,38,38,.26)!important;background:linear-gradient(180deg,#fff,#fff5f5)!important}
.nfc-scan-animation.error i{background:linear-gradient(90deg,rgba(220,38,38,.10),#dc2626,rgba(220,38,38,.10))!important}
@keyframes nfcScanBeam{0%{transform:translateY(0);opacity:.10}18%{opacity:1}55%{transform:translateY(76px);opacity:1}100%{transform:translateY(0);opacity:.16}}
@keyframes nfcChipReady{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.025)}}
@keyframes nfcScanStatus{0%,100%{opacity:.42;width:58px}50%{opacity:1;width:82px}}
.expediente-case-grid .expediente-list-card,
.expediente-treatment-grid .expediente-list-card{padding:16px!important;gap:8px!important}
.expediente-list-card .expediente-card-kicker{display:inline-flex!important;align-items:center!important;width:auto!important;min-height:26px!important;padding:6px 10px!important;margin:0!important;border-radius:999px!important;font-size:12px!important;line-height:1!important}
.expediente-list-card .expediente-card-pet{margin:0!important;font-size:13px!important;line-height:1.25!important;color:var(--muted)!important}
.expediente-list-card h3{margin:0!important;line-height:1.24!important;max-width:100%!important}
.expediente-card-meta{margin:0!important;line-height:1.25!important}
.expediente-case-summary,.expediente-treatment-summary{min-height:34px!important;line-height:1.35!important}
.expediente-icon-actions{margin-top:auto!important;padding-top:6px!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}
.role-registry-item em{font-style:normal;font-size:12px;color:var(--primary);font-weight:500}
.role-available-permissions{margin-top:14px}
.role-create-card[hidden]{display:none!important}
.roles-registry .section-head-inline{align-items:center!important;gap:12px!important}
.roles-registry .section-head-inline .btn{margin-left:auto!important}
.clinical-card-grid[data-empty="1"]:after{content:'Sin coincidencias';grid-column:1/-1;color:var(--muted);border:1px dashed var(--line);border-radius:12px;padding:18px;text-align:center;background:#fff}

@media(max-width:560px){.modal-lite{padding:12px!important;place-items:start center!important;overflow:auto!important}.modal-lite.open{align-items:flex-start!important;justify-items:center!important}.modal-card{width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;padding:18px!important;border-radius:18px!important;margin-top:12px!important}.modal-card h2{font-size:20px!important;line-height:1.25!important;margin:0 34px 14px 0!important}.modal-close{right:12px!important;top:12px!important;width:34px!important;height:34px!important;display:grid!important;place-items:center!important}.case-action-modal{max-width:calc(100vw - 24px)!important}.case-action-modal .form-grid{gap:10px!important;grid-template-columns:1fr!important}.case-action-form .form-group{margin:0!important}.case-action-form label{font-size:12px!important;line-height:1.2!important;margin-bottom:5px!important}.case-action-form .form-control{height:44px!important;min-height:44px!important;font-size:14px!important;border-radius:12px!important;padding:0 12px!important}.case-action-form textarea.form-control{height:auto!important;min-height:96px!important;padding:12px!important}.role-create-card .form-grid{grid-template-columns:1fr!important}.roles-registry .section-head-inline{display:flex!important;align-items:flex-start!important;flex-direction:column!important}.roles-registry .section-head-inline .btn{margin-left:0!important;width:100%!important}.perm-group{padding:12px!important}.perm-check{min-height:40px!important}}

/* Roles: columnas compactas sin huecos grandes entre permisos. */
.role-available-permissions .perm-module-columns{display:block!important;column-count:3!important;column-gap:14px!important}
.role-available-permissions .perm-group{display:inline-block!important;width:100%!important;margin:0 0 14px!important;break-inside:avoid!important;page-break-inside:avoid!important;vertical-align:top!important}
.role-available-permissions .perm-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
.role-available-permissions .perm-check{min-height:44px!important}
@media(max-width:1100px){.role-available-permissions .perm-module-columns{column-count:2!important}}
@media(max-width:720px){.role-available-permissions .perm-module-columns{column-count:1!important}}

/* NFC: solo cuadro de escaneo y barrido, sin circulos internos. */
.nfc-scan-animation{position:relative!important;width:178px!important;height:132px!important;display:grid!important;place-items:center!important;margin:20px auto 18px!important;overflow:hidden!important;border-radius:24px!important;border:1px solid #d7e3f2!important;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)!important;box-shadow:0 16px 34px rgba(15,23,42,.08)!important;isolation:isolate!important}
.nfc-scan-animation:before{content:''!important;position:absolute!important;inset:16px!important;border:1px solid rgba(100,116,139,.18)!important;border-radius:18px!important;background:linear-gradient(90deg,rgba(100,116,139,.08) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(180deg,rgba(100,116,139,.08) 1px,transparent 1px) 0 0/22px 22px!important;opacity:.72!important;animation:none!important}
.nfc-scan-animation:after{content:''!important;position:absolute!important;left:20px!important;right:20px!important;top:18px!important;height:16px!important;border:0!important;border-radius:999px!important;background:linear-gradient(90deg,transparent,rgba(14,165,163,.72),transparent)!important;box-shadow:0 0 18px rgba(14,165,163,.28)!important;animation:nfcScanBeam 1.55s ease-in-out infinite!important;z-index:3!important}
.nfc-scan-animation span,.nfc-scan-animation i{display:none!important}
.nfc-scan-animation.error{border-color:#f3c6c6!important;background:linear-gradient(180deg,#fff 0%,#fff7f7 100%)!important}
.nfc-scan-animation.error:after{background:linear-gradient(90deg,transparent,rgba(220,38,38,.58),transparent)!important;box-shadow:0 0 18px rgba(220,38,38,.24)!important}
@keyframes nfcScanBeam{0%{transform:translateY(0);opacity:.12}18%{opacity:1}58%{transform:translateY(80px);opacity:1}100%{transform:translateY(0);opacity:.14}}

/* Modal and dark mode safety: keep dialogs scrollable and expediente readable. */
body.modal-lock{overflow:hidden!important}
.modal-lite.open{display:grid!important;align-items:flex-start!important;justify-items:center!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding:24px 16px!important}
.modal-card{max-height:calc(100dvh - 48px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;margin:0 auto!important}
.case-action-modal{max-height:calc(100dvh - 48px)!important;overflow-y:auto!important}
.dark .identification-chip,
.dark .mini-detail,
.dark .compact-metric,
.dark .pet-metric.compact-metric,
.dark .pet-health-summary>div,
.dark .document-card-compact,
.dark .compact-result-card,
.dark .doc-card.compact-result-card,
.dark .expediente-list-card,
.dark .lab-result-card,
.dark .role-registry-item,
.dark .perm-group,
.dark .perm-check,
.dark .date-range-panel,
.dark .clinical-card-grid[data-empty="1"]:after{background:#151922!important;color:var(--text)!important;border-color:#29303a!important}
.dark .identification-chip span,
.dark .mini-detail span,
.dark .compact-metric span,
.dark .document-card-line,
.dark .document-card-pet,
.dark .document-card-date,
.dark .expediente-card-pet,
.dark .expediente-card-meta,
.dark .expediente-case-summary,
.dark .expediente-treatment-summary,
.dark .lab-result-finding{color:#aab4c2!important}
.dark .identification-chip strong,
.dark .mini-detail strong,
.dark .compact-metric strong,
.dark .document-card-compact h3,
.dark .compact-result-card h3,
.dark .expediente-list-card h3,
.dark .lab-result-card h3{color:#f5f7fb!important}
.dark .document-icon,
.dark .doc-icon,
.dark .document-id,
.dark .document-type-pill,
.dark .expediente-card-kicker{background:#1d2430!important;color:#c7d2e2!important;border-color:#29303a!important}
.dark .icon-btn,
.dark .expediente-icon-actions .case-status-trigger{background:#111827!important;color:var(--primary)!important;border-color:#29303a!important}
@media(max-width:560px){
  .modal-lite.open{padding:12px!important}
  .modal-card{max-height:calc(100dvh - 24px)!important}
  .case-action-modal{max-height:calc(100dvh - 24px)!important}
}

.record-summary-modal{width:min(720px,calc(100vw - 32px))!important;max-height:calc(100dvh - 36px)!important;overflow-y:auto!important;padding:22px!important}
.record-summary-content{display:grid;gap:16px}
.record-summary-head{display:grid;gap:6px;padding-right:34px}
.record-summary-head h2{margin:0;font-size:24px;line-height:1.18;font-weight:650}
.record-summary-head p{margin:0;color:var(--muted)}
.record-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.record-summary-field{border:1px solid var(--line);border-radius:14px;background:rgba(14,165,163,.04);padding:10px 12px;min-width:0}
.record-summary-field span{display:block;font-size:11px;color:var(--muted);line-height:1.2;margin-bottom:4px}
.record-summary-field b{display:block;font-size:14px;font-weight:550;color:var(--text);line-height:1.25;overflow-wrap:anywhere}
.record-summary-section{display:grid;gap:8px}
.record-summary-section h3{margin:0;font-size:15px;font-weight:650}
.record-summary-section p{margin:0;color:var(--text);line-height:1.45}
.record-summary-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.record-summary-table th,.record-summary-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;font-size:13px;line-height:1.35;background:var(--card)}
.record-summary-table tr:last-child th,.record-summary-table tr:last-child td{border-bottom:0}
.record-summary-table th{width:34%;color:var(--text);font-weight:600;background:rgba(15,23,42,.03);text-transform:none;letter-spacing:0}
.record-summary-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}
.summary-print-option{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:600}
.summary-print-option input{width:14px;height:14px;margin:0;accent-color:var(--primary)}
.summary-pdf-action{width:auto!important;min-width:42px!important;padding:0 12px!important;gap:8px}
.summary-pdf-action span{font-size:12px;font-weight:650}
.record-summary-print-header,.record-summary-print-title,.record-summary-print-identity,.record-summary-print-meta,.record-summary-print-sections{display:none}
.summary-print-action{color:var(--primary)!important}
.summary-print-action .sv-icon{width:18px!important;height:18px!important}
.record-summary-loading{min-height:120px;display:grid;place-items:center;color:var(--muted)}
.dark .record-summary-field{background:#111827!important;border-color:#29303a!important}
.dark .record-summary-table th,.dark .record-summary-table td{background:#151922!important;border-color:#29303a!important;color:var(--text)!important}
.dark .record-summary-table th{background:#111827!important}
@media(max-width:560px){.record-summary-modal{width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;padding:18px!important}.record-summary-grid{grid-template-columns:1fr}.record-summary-table th,.record-summary-table td{display:block;width:100%;border-bottom:0}.record-summary-table tr{display:block;border-bottom:1px solid var(--line)}.record-summary-table tr:last-child{border-bottom:0}.record-summary-actions{justify-content:flex-start;flex-wrap:wrap}.record-summary-head h2{font-size:21px}}

@media print{
  @page{size:A4;margin:10mm}
  body.printing-record-summary{background:#fff!important;color:#000!important}
  body.printing-record-summary .sidebar,
  body.printing-record-summary .topbar,
  body.printing-record-summary .app-shell,
  body.printing-record-summary .mobile-menu-btn,
  body.printing-record-summary .flash-stack{display:none!important}
  body.printing-record-summary #recordSummaryModal{position:static!important;inset:auto!important;display:block!important;background:#fff!important;padding:0!important;overflow:visible!important}
  body.printing-record-summary #recordSummaryModal .record-summary-modal{position:static!important;width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#000!important}
  body.printing-record-summary .modal-close,
  body.printing-record-summary .record-summary-actions{display:none!important}
  body.printing-record-summary .record-summary-content{display:block!important;font-size:11px!important;line-height:1.28!important}
  body.printing-record-summary .record-summary-screen-only{display:none!important}
  body.printing-record-summary .record-summary-head,
  body.printing-record-summary .summary-registered-values{display:none!important}
  body.printing-record-summary .record-summary-print-header{display:flex!important;align-items:center!important;gap:14px;border-bottom:1px solid #222;margin-bottom:10px;padding-bottom:8px;color:#000!important}
  body.printing-record-summary .record-summary-print-logo{width:92px;height:54px;display:flex;align-items:center;justify-content:center;flex:0 0 92px}
  body.printing-record-summary .record-summary-print-logo img{max-width:92px;max-height:54px;object-fit:contain}
  body.printing-record-summary .record-summary-print-logo span{font-size:24px;font-weight:800}
  body.printing-record-summary .record-summary-print-clinic{display:block}
  body.printing-record-summary .record-summary-print-clinic-name{font-size:16px!important;font-weight:800!important;line-height:1.12!important}
  body.printing-record-summary .record-summary-print-header strong,
  body.printing-record-summary .record-summary-print-header span,
  body.printing-record-summary .record-summary-print-header small{display:block;color:#000!important;line-height:1.24!important}
  body.printing-record-summary .record-summary-print-clinic-address{font-weight:600!important}
  body.printing-record-summary .document-type-pill{display:none!important}
  body.printing-record-summary .record-summary-print-title{display:block!important;margin:8px 0 9px!important;color:#000!important}
  body.printing-record-summary .record-summary-print-title span{display:block!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:0!important;color:#000!important}
  body.printing-record-summary .record-summary-print-title strong{display:block!important;font-size:18px!important;font-weight:800!important;line-height:1.16!important;color:#000!important}
  body.printing-record-summary .record-summary-print-title small{display:block!important;font-size:11px!important;font-weight:600!important;color:#000!important;margin-top:1px!important}
  body.printing-record-summary .record-summary-print-identity{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-bottom:8px!important;border:1px solid #b8b8b8!important;border-radius:7px!important;padding:7px!important}
  body.printing-record-summary .record-summary-print-identity section{min-width:0!important}
  body.printing-record-summary .record-summary-print-identity h3{font-size:13px!important;font-weight:800!important;line-height:1.15!important;margin:0 0 5px!important;color:#000!important}
  body.printing-record-summary .record-summary-print-identity p,
  body.printing-record-summary .record-summary-print-meta p{display:grid!important;grid-template-columns:78px 1fr!important;gap:6px!important;margin:0 0 3px!important;color:#000!important}
  body.printing-record-summary .record-summary-print-identity span,
  body.printing-record-summary .record-summary-print-meta span{color:#333!important;font-weight:600!important}
  body.printing-record-summary .record-summary-print-identity b,
  body.printing-record-summary .record-summary-print-meta b{color:#000!important;font-weight:700!important;overflow-wrap:anywhere!important}
  body.printing-record-summary .record-summary-print-meta{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;border-bottom:1px solid #ccc!important;padding-bottom:7px!important;margin-bottom:8px!important}
  body.printing-record-summary .record-summary-section h3,
  body.printing-record-summary .record-summary-section p{color:#000!important}
  body.printing-record-summary .record-summary-section h3{font-size:13px!important;font-weight:800!important;line-height:1.15!important;margin:0 0 4px!important}
  body.printing-record-summary .record-summary-section p{font-size:11px!important;line-height:1.3!important}
  body.printing-record-summary .record-summary-grid{display:none!important}
  body.printing-record-summary .record-summary-field,
  body.printing-record-summary .record-summary-table,
  body.printing-record-summary .record-summary-table th,
  body.printing-record-summary .record-summary-table td{background:#fff!important;color:#000!important;border-color:#bbb!important}
  body.printing-record-summary .record-summary-field{border-radius:8px!important;padding:8px 10px!important}
  body.printing-record-summary .record-summary-field span,
  body.printing-record-summary .record-summary-field b{color:#000!important}
  body.printing-record-summary .record-summary-table{border-radius:6px!important}
  body.printing-record-summary .record-summary-table th,
  body.printing-record-summary .record-summary-table td{font-size:10.5px!important;line-height:1.25!important;padding:5px 7px!important}
  body.printing-record-summary .record-summary-section{break-inside:avoid;margin:8px 0!important}
}

/* Sidebar móvil: al abrir, siempre muestra nombres y grupos completos. */
body.sidebar-mobile-open .sidebar .menu-item span{display:inline!important}
body.sidebar-mobile-open .sidebar .brand-text,
body.sidebar-mobile-open .sidebar .menu-search,
body.sidebar-mobile-open .sidebar .menu-group-title span:first-child{display:block!important}
body.sidebar-mobile-open .sidebar .menu-chevron{display:inline-flex!important}

.icon-btn.plain-icon{width:auto!important;min-width:0!important;height:34px!important;border:0!important;background:transparent!important;border-radius:999px!important;padding:6px 9px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;box-shadow:none!important;color:var(--primary)!important}
.icon-btn.plain-icon .sv-icon{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;max-height:18px!important}
.icon-btn.plain-icon span{font-size:13px;font-weight:700;line-height:1}
.icon-btn.plain-icon:hover{background:color-mix(in srgb,var(--primary) 9%,transparent)!important;transform:translateY(-1px)}
.icon-btn.plain-icon.copied{color:#15803d!important}
.record-summary-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px;margin-top:16px}
.record-summary-actions .summary-pdf-action,.record-summary-actions .summary-share-action{min-width:auto!important}
.public-share-body{min-height:100vh;background:var(--bg);color:var(--text)}
.public-share-shell{width:min(920px,calc(100% - 28px));margin:0 auto;padding:28px 0 42px}
.public-share-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.public-share-brand .brand-mark{box-shadow:0 10px 26px rgba(14,165,163,.14)}
.public-share-brand strong{display:block;font-size:18px}
.public-share-brand span{display:block;color:var(--muted);font-size:13px}
.public-share-card{padding:24px!important}
.public-share-card .record-summary-head h2{font-size:28px;margin-bottom:4px}
.public-share-expiry{margin:18px 0 0;color:var(--muted);font-size:13px}
@media(max-width:560px){.record-summary-actions{justify-content:flex-start;gap:8px}.record-summary-actions .icon-btn.plain-icon{height:32px!important;padding:5px 7px!important}.record-summary-actions .icon-btn.plain-icon span{font-size:12px}.public-share-shell{width:100%;padding:14px}.public-share-card{border-radius:16px!important;padding:16px!important}.public-share-card .record-summary-head h2{font-size:22px}.public-share-card .record-summary-grid{grid-template-columns:1fr!important}.public-share-brand{padding:0 4px}.public-share-brand .brand-mark{width:38px;height:38px;min-width:38px}}

/* Marca real: el logo no debe quedar encerrado como icono decorativo. */
.login-brand-badge.login-logo-shell{
  width:156px!important;
  height:88px!important;
  margin:0 auto 14px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.login-logo-shell .login-logo-img{
  width:100%!important;
  height:100%!important;
  max-width:156px!important;
  max-height:88px!important;
  object-fit:contain!important;
  padding:0!important;
  border-radius:0!important;
}
.brand-mark.brand-logo-shell{
  width:64px!important;
  height:46px!important;
  min-width:64px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.brand-logo-shell .brand-logo-img{
  width:100%!important;
  height:100%!important;
  max-width:64px!important;
  max-height:46px!important;
  object-fit:contain!important;
  padding:0!important;
  border-radius:0!important;
}
.sidebar.collapsed .brand-mark.brand-logo-shell{
  width:52px!important;
  height:38px!important;
  min-width:52px!important;
}
@media(max-width:640px){
  .login-brand-badge.login-logo-shell{width:138px!important;height:78px!important}
  .login-logo-shell .login-logo-img{max-width:138px!important;max-height:78px!important}
  .brand-mark.brand-logo-shell{width:58px!important;height:42px!important;min-width:58px!important}
}
@media(max-width:560px){.document-card-actions .icon-btn,.lab-result-action-icons .icon-btn,.expediente-icon-actions .icon-btn{border:0!important;background:transparent!important;box-shadow:none!important;width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;display:inline-grid!important;place-items:center!important}.document-card-actions .icon-btn .sv-icon,.lab-result-action-icons .icon-btn .sv-icon,.expediente-icon-actions .icon-btn .sv-icon{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;max-height:18px!important}.document-card-actions,.lab-result-action-icons,.expediente-icon-actions{gap:6px!important;align-items:center!important}}

.case-procedure-panel{display:none;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border:1px solid var(--line);border-radius:18px;padding:16px;background:color-mix(in srgb,var(--primary) 5%,#fff)}
.case-procedure-panel.is-visible{display:grid}
.history-item-row{grid-template-columns:18px minmax(0,1fr) auto!important;align-items:start!important}
.history-item-body{min-width:0}
.history-detail-link{border:0;background:transparent;color:var(--primary);width:32px;height:32px;display:inline-grid;place-items:center;border-radius:999px;cursor:pointer;transition:background .15s ease,transform .15s ease}
.history-detail-link:hover{background:color-mix(in srgb,var(--primary) 10%,#fff);transform:translateX(2px)}
.history-detail-link .sv-icon{width:18px!important;height:18px!important}
.dark .case-procedure-panel{background:#101820}
.dark .history-detail-link:hover{background:#1f2937}
@media(max-width:720px){.case-procedure-panel{grid-template-columns:1fr}.history-item-row{grid-template-columns:14px minmax(0,1fr) 28px!important}.history-detail-link{width:28px;height:28px}}
.record-evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:10px}
.record-evidence-item{margin:0;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:10px}
.record-evidence-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#eef4ff}
.record-evidence-item figcaption{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.35}

/* Menus de tres puntos: alineados y visibles aunque la tarjeta recorte contenido. */
.drop.floating-drop{position:fixed!important;right:auto!important;top:auto!important;z-index:10050!important}
.dots.open .drop.floating-drop{display:block!important}
.drop.floating-drop a,.drop.floating-drop .link-button{display:block!important;width:100%!important}
.clinical-actions-slim .dots,
.expediente-icon-actions .dots,
.lab-result-action-icons .dots{display:inline-grid!important;place-items:center!important;width:30px!important;height:30px!important;min-width:30px!important;margin:0!important;align-self:center!important;overflow:visible!important}
.clinical-actions-slim .dots>button,
.expediente-icon-actions .dots>button,
.lab-result-action-icons .dots>button{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;margin:0!important;line-height:1!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--primary)!important}
.dark .drop.floating-drop{background:#151922!important;border-color:#29303a!important;color:var(--text)!important}

@media print{
  body.printing-record-summary .record-summary-screen-only{display:none!important}
  body.printing-record-summary .record-summary-print-header{display:flex!important;align-items:center!important;gap:14px!important;text-align:left!important;border-bottom:1px solid #222!important;margin-bottom:8px!important;padding-bottom:7px!important;color:#000!important}
  body.printing-record-summary .record-summary-print-logo{width:112px!important;height:48px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;flex:0 0 112px!important;margin:0!important}
  body.printing-record-summary .record-summary-print-logo img{max-width:112px!important;max-height:48px!important;object-fit:contain!important;margin:0!important}
  body.printing-record-summary .record-summary-print-clinic{min-width:0!important}
  body.printing-record-summary .record-summary-print-clinic-name{font-size:15px!important;font-weight:800!important;line-height:1.1!important}
  body.printing-record-summary .record-summary-print-title{display:block!important;margin:5px 0 8px!important;text-align:left!important;color:#000!important}
  body.printing-record-summary .record-summary-print-title span{display:block!important;font-size:14px!important;font-weight:800!important;text-transform:uppercase!important;line-height:1.15!important;color:#000!important}
  body.printing-record-summary .record-summary-print-title strong{display:block!important;font-size:15px!important;font-weight:500!important;line-height:1.18!important;color:#000!important;margin-top:2px!important}
  body.printing-record-summary .record-summary-print-title small{display:block!important;font-size:10.5px!important;font-weight:500!important;color:#111!important;margin-top:1px!important}
  body.printing-record-summary .record-summary-print-identity{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:6px 0 8px!important;border:0!important;padding:0!important}
  body.printing-record-summary .record-summary-print-identity section{border:1px solid #aaa!important;border-radius:6px!important;padding:7px 8px!important;min-height:44px!important}
  body.printing-record-summary .record-summary-print-identity h3{font-size:11.5px!important;font-weight:800!important;margin:0 0 4px!important;color:#000!important}
  body.printing-record-summary .record-summary-print-identity p{display:grid!important;grid-template-columns:66px 1fr!important;gap:6px!important;margin:0 0 2px!important;font-size:10.5px!important;line-height:1.2!important}
  body.printing-record-summary .record-summary-print-meta{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;border:0!important;border-bottom:1px solid #ccc!important;margin:0 0 8px!important;padding:0 0 7px!important}
  body.printing-record-summary .record-summary-print-meta p{display:grid!important;grid-template-columns:auto 1fr!important;gap:5px!important;margin:0!important;font-size:10.5px!important;line-height:1.2!important}
  body.printing-record-summary .record-summary-print-sections{display:block!important}
  body.printing-record-summary .record-summary-print-section{break-inside:avoid;margin:7px 0!important;color:#000!important}
  body.printing-record-summary .record-summary-print-section h3{font-size:12.5px!important;font-weight:800!important;line-height:1.15!important;margin:0 0 4px!important;color:#000!important}
  body.printing-record-summary .record-summary-print-section p{font-size:10.8px!important;line-height:1.3!important;margin:0!important;color:#000!important}
  body.printing-record-summary .record-summary-print-section.is-table-fit{max-width:74%!important}
  body.printing-record-summary .record-summary-print-table{width:100%!important;border-collapse:collapse!important;border:1px solid #aaa!important}
  body.printing-record-summary .record-summary-print-table th,
  body.printing-record-summary .record-summary-print-table td{font-size:10.5px!important;line-height:1.18!important;padding:4px 6px!important;border-bottom:1px solid #ccc!important;text-align:left!important;vertical-align:top!important;color:#000!important;background:#fff!important}
  body.printing-record-summary .record-summary-print-table th{width:34%!important;font-weight:800!important}
  body.printing-record-summary .record-summary-print-identity p{display:flex!important;align-items:baseline!important;gap:3px!important;margin:0 0 2px!important;font-size:10.5px!important;line-height:1.2!important}
  body.printing-record-summary .record-summary-print-identity p strong{font-weight:800!important;color:#000!important}
  body.printing-record-summary .record-summary-print-identity p span{font-weight:400!important;color:#000!important}
  body.printing-record-summary.hide-print-doctor .record-summary-print-doctor{display:none!important}
}
.record-evidence-upload-group{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--card);box-shadow:none}
.record-evidence-upload-list{display:grid;gap:10px}
.record-evidence-upload-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.2fr);gap:10px;align-items:start}
.record-evidence-upload-row.single-evidence-upload{grid-template-columns:minmax(220px,.78fr) minmax(260px,1.22fr)}
.record-evidence-upload-row input[type=file]{min-height:42px}
.record-evidence-upload-row textarea{min-height:58px;resize:vertical}
.form-actions{display:flex;align-items:center;gap:10px}
.form-actions-end{justify-content:flex-end}
.form-actions .btn{min-width:112px}
.dark .record-evidence-upload-group{background:#101820}
@media(max-width:720px){.record-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-evidence-upload-row,.record-evidence-upload-row.single-evidence-upload{grid-template-columns:1fr}.record-evidence-upload-group{padding:12px}.record-evidence-item{padding:8px}.form-actions,.form-actions-end{justify-content:stretch}.form-actions .btn{width:100%;min-width:0}}
@media(max-width:420px){.record-evidence-grid{grid-template-columns:1fr}}

/* Topbar móvil y acceso POS */
.top-pos-link{color:var(--primary)!important}
.top-pos-link .sv-icon{width:21px!important;height:21px!important}
@media(max-width:780px){
  .topbar{display:grid!important;grid-template-columns:34px minmax(0,1fr) repeat(4,34px)!important;grid-auto-rows:minmax(34px,auto)!important;align-items:center!important;gap:6px!important;min-height:auto!important;padding:8px!important}
  .top-spacer{display:none!important}
  .topbar>.branch-form,.topbar>.branch-fixed{display:none!important}
  .top-mobile-branch{display:block!important;grid-column:1/-1!important;width:100%!important;max-width:none!important;order:2!important}
  .top-mobile-branch .branch-form{display:block!important;width:100%!important}
  .top-mobile-branch select,.top-mobile-branch .branch-fixed{width:100%!important;max-width:none!important;min-width:0!important;height:38px!important;font-size:13px!important;padding:0 12px!important}
  .top-icon.icon-only,.top-avatar,.mobile-menu-btn{width:34px!important;min-width:34px!important;height:34px!important;border-radius:12px!important}
}

/* Topbar estable: fila de iconos + selector movil separado. */
.topbar-main-row{display:flex;align-items:center;gap:14px;width:100%;min-height:var(--topbar-height)}
.topbar-main-row .top-spacer{display:block;flex:1 1 auto;min-width:8px}
.top-mobile-branch{display:none!important}
@media(min-width:781px){
  .topbar{display:flex!important;align-items:center!important}
  .topbar-main-row>.branch-form{display:block!important}
  .topbar-main-row>.branch-fixed{display:inline-flex!important;align-items:center!important}
}
@media(max-width:780px){
  .topbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;height:auto!important;min-height:0!important;padding:6px 8px 8px!important;gap:6px!important}
  .topbar-main-row{display:flex!important;align-items:center!important;gap:4px!important;width:100%!important;min-height:32px!important}
  .topbar-main-row>.top-spacer{display:block!important;flex:1 1 auto!important;min-width:4px!important}
  .topbar-main-row>.branch-form,.topbar-main-row>.branch-fixed{display:none!important}
  .top-mobile-branch{display:block!important;width:100%!important;max-width:none!important;order:2!important}
  .top-mobile-branch .branch-form,.top-mobile-branch .branch-fixed{display:block!important;width:100%!important;max-width:none!important}
  .top-mobile-branch select,.top-mobile-branch .branch-fixed{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;height:36px!important;border-radius:12px!important;font-size:13px!important;padding:0 12px!important}
  .topbar-main-row .mobile-menu-btn,.topbar-main-row .top-icon.icon-only,.topbar-main-row .top-avatar{width:30px!important;min-width:30px!important;height:30px!important;border-radius:10px!important;padding:0!important;display:grid!important;place-items:center!important}
  .topbar-main-row .top-profile{display:flex!important;align-items:center!important;justify-content:center!important;width:30px!important;min-width:30px!important}
  .topbar-main-row .sv-icon{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important}
  .topbar-main-row .notification-badge{top:-5px!important;right:-5px!important}
}

/* Popups de resumen compactos */
.record-summary-modal{width:min(760px,calc(100vw - 28px))!important;padding:20px!important}
.record-summary-content{gap:12px!important}
.record-summary-head h2{font-size:28px!important;line-height:1.12!important;font-weight:650!important}
.record-summary-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:2px}
.record-summary-featured-card{border:1px solid var(--line);border-radius:14px;background:rgba(14,165,163,.035);padding:10px 12px;min-width:0}
.record-summary-featured-card h3{margin:0 0 5px;font-size:13px;font-weight:650;color:var(--text)}
.record-summary-featured-card p{margin:0;color:var(--text);line-height:1.35}
.record-summary-featured-card .record-summary-table{margin-top:2px}
.record-summary-featured-card:last-child:nth-child(odd){grid-column:1/-1}
.record-summary-screen-blocks.summary-registered-values{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:12px!important}
.record-summary-screen-block{border:1px solid var(--line);border-radius:14px;background:rgba(14,165,163,.035);padding:12px 14px;min-width:0}
.record-summary-screen-block-wide{grid-column:1/-1}
.record-summary-screen-block h3{margin:0 0 9px;font-size:13px;font-weight:650;color:var(--text);line-height:1.2}
.record-summary-screen-list{display:grid;grid-template-columns:1fr;gap:7px;margin:0}
.record-summary-screen-block-wide .record-summary-screen-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.record-summary-screen-list div{display:flex;align-items:baseline;gap:4px;min-width:0;line-height:1.25}
.record-summary-screen-list dt{margin:0;color:var(--muted);font-size:11px;font-weight:650;white-space:nowrap}
.record-summary-screen-list dt:after{content:":"}
.record-summary-screen-list dd{margin:0;color:var(--text);font-size:13px;font-weight:500;min-width:0;overflow-wrap:anywhere}
.record-summary-grid.summary-registered-values{gap:8px!important}
.record-summary-field{padding:9px 11px!important}
.record-summary-section{gap:6px!important}
.record-summary-actions{margin-top:10px!important}
.dark .record-summary-featured-card{background:#111827!important;border-color:#29303a!important}
.dark .record-summary-screen-block{background:#111827!important;border-color:#29303a!important}
@media(max-width:560px){
  .record-summary-modal{width:calc(100vw - 18px)!important;max-height:calc(100dvh - 18px)!important;padding:16px!important}
  .record-summary-head{padding-right:30px!important}
  .record-summary-head h2{font-size:23px!important}
  .record-summary-featured-grid{grid-template-columns:1fr!important}
  .record-summary-featured-card:last-child:nth-child(odd){grid-column:auto!important}
  .record-summary-screen-blocks.summary-registered-values{grid-template-columns:1fr!important;gap:8px!important;margin-top:8px!important}
  .record-summary-screen-block,.record-summary-screen-block-wide{grid-column:auto!important;padding:10px 11px!important}
  .record-summary-screen-block h3{margin-bottom:7px!important;font-size:12px!important}
  .record-summary-screen-list,.record-summary-screen-block-wide .record-summary-screen-list{grid-template-columns:1fr!important;gap:6px!important}
  .record-summary-screen-list div{gap:3px!important}
  .record-summary-screen-list dt{font-size:10.5px!important}
  .record-summary-screen-list dd{font-size:12.5px!important}
  .record-summary-field{padding:8px 10px!important}
}

/* Topbar final: sucursal compacta alineada con iconos. */
.topbar-main-row>.branch-form select,
.topbar-main-row>.branch-fixed{min-width:0!important;width:160px!important;max-width:160px!important}
@media(max-width:780px){
  .topbar{display:flex!important;flex-direction:row!important;align-items:center!important;height:46px!important;min-height:46px!important;padding:6px 8px!important;gap:0!important}
  .topbar-main-row{display:grid!important;grid-template-columns:28px minmax(96px,116px) minmax(0,1fr) repeat(5,24px)!important;align-items:center!important;gap:3px!important;width:100%!important;min-height:34px!important}
  .topbar-main-row>.mobile-menu-btn{grid-column:1!important}
  .topbar-main-row>.branch-form{display:block!important;grid-column:2!important;grid-row:1!important;width:116px!important;max-width:116px!important;min-width:96px!important}
  .topbar-main-row>.branch-fixed{display:inline-flex!important;grid-column:2!important;grid-row:1!important;width:116px!important;max-width:116px!important;min-width:96px!important;align-items:center!important}
  .topbar-main-row>.top-spacer{display:block!important;grid-column:3!important;grid-row:1!important;min-width:0!important;flex:0 1 auto!important}
  .topbar-main-row>.branch-form select,
  .topbar-main-row>.branch-fixed{height:32px!important;border-radius:10px!important;font-size:11.5px!important;padding:0 7px!important}
  .top-mobile-branch{display:none!important}
  .topbar-main-row .mobile-menu-btn,
  .topbar-main-row .top-icon.icon-only,
  .topbar-main-row .top-avatar{width:24px!important;min-width:24px!important;height:24px!important;border-radius:8px!important;padding:0!important;display:grid!important;place-items:center!important}
  .topbar-main-row .top-profile{width:24px!important;min-width:24px!important;height:24px!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .topbar-main-row .sv-icon{width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;max-width:15px!important;max-height:15px!important}
  .topbar-main-row .notification-badge{top:-7px!important;right:-6px!important;min-width:16px!important;height:16px!important;font-size:9px!important}
}
@media(max-width:360px){
  .topbar-main-row{grid-template-columns:26px minmax(88px,108px) minmax(0,1fr) repeat(5,23px)!important;gap:2px!important}
  .topbar-main-row>.branch-form,
  .topbar-main-row>.branch-fixed{width:108px!important;max-width:108px!important;min-width:88px!important}
  .topbar-main-row .mobile-menu-btn,
  .topbar-main-row .top-icon.icon-only,
  .topbar-main-row .top-avatar,
  .topbar-main-row .top-profile{width:23px!important;min-width:23px!important;height:23px!important}
}

/* Topbar móvil estable: sucursal seleccionable y alertas alineadas. */
@media(max-width:780px){
  .topbar{display:flex!important;flex-direction:row!important;align-items:center!important;height:44px!important;min-height:44px!important;padding:6px 8px!important;overflow:visible!important}
  .topbar-main-row{display:flex!important;align-items:center!important;gap:4px!important;width:100%!important;min-width:0!important;overflow:visible!important}
  .topbar-main-row>.mobile-menu-btn{order:1!important;flex:0 0 24px!important}
  .topbar-main-row>.branch-form{order:2!important;display:block!important;flex:0 0 112px!important;width:112px!important;max-width:112px!important;min-width:92px!important;position:relative!important;z-index:3!important;pointer-events:auto!important}
  .topbar-main-row>.branch-fixed{order:2!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 112px!important;width:112px!important;max-width:112px!important;min-width:92px!important;position:relative!important;z-index:3!important;pointer-events:auto!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar-main-row>.branch-form select{display:block!important;width:100%!important;min-width:0!important;max-width:112px!important;height:30px!important;border-radius:10px!important;font-size:11.5px!important;padding:0 7px!important;cursor:pointer!important;pointer-events:auto!important}
  .topbar-main-row>.top-spacer{order:3!important;display:block!important;flex:1 1 4px!important;min-width:2px!important}
  .topbar-main-row>.top-pos-link{order:4!important}
  .topbar-main-row>.nfc-scan-btn{order:5!important}
  .topbar-main-row>.notification-btn{order:6!important}
  .topbar-main-row>.theme-toggle{order:7!important}
  .topbar-main-row>.top-profile{order:8!important;flex:0 0 23px!important}
  .topbar-main-row .mobile-menu-btn,
  .topbar-main-row .top-icon.icon-only,
  .topbar-main-row .top-avatar{width:23px!important;min-width:23px!important;height:23px!important;border-radius:8px!important;padding:0!important;display:grid!important;place-items:center!important;flex:0 0 23px!important}
  .topbar-main-row .sv-icon{width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;max-width:14px!important;max-height:14px!important}
  .topbar-main-row .notification-badge{top:-3px!important;right:-2px!important;min-width:14px!important;height:14px!important;font-size:8px!important;line-height:14px!important;padding:0 3px!important;border-width:1.5px!important}
  .top-mobile-branch{display:none!important}
}
@media(max-width:360px){
  .topbar-main-row{gap:2px!important}
  .topbar-main-row>.branch-form,
  .topbar-main-row>.branch-fixed{flex-basis:96px!important;width:96px!important;max-width:96px!important;min-width:86px!important}
  .topbar-main-row>.branch-form select{max-width:96px!important;font-size:11px!important;padding:0 5px!important}
  .topbar-main-row .mobile-menu-btn,
  .topbar-main-row .top-icon.icon-only,
  .topbar-main-row .top-avatar,
  .topbar-main-row>.top-profile{width:22px!important;min-width:22px!important;height:22px!important;flex-basis:22px!important}
  .topbar-main-row .sv-icon{width:13px!important;height:13px!important;min-width:13px!important;min-height:13px!important;max-width:13px!important;max-height:13px!important}
}

/* Expediente publico QR: historial y peso sin solapes. */
.owner-history-timeline{position:relative;display:grid;gap:14px;margin-top:14px;padding-left:18px;border-left:2px solid rgba(14,165,163,.35)}
.owner-history-item{position:relative;display:grid;grid-template-columns:minmax(86px,auto) minmax(0,1fr);gap:14px;align-items:start;padding:0 0 14px}
.owner-history-dot{position:absolute;left:-25px;top:5px;width:14px;height:14px;border-radius:999px;background:var(--primary);border:3px solid var(--card);box-shadow:0 0 0 1px rgba(14,165,163,.25)}
.owner-history-date{font-size:13px;font-weight:650;color:var(--muted);line-height:1.25;white-space:nowrap}
.owner-history-content{min-width:0;display:grid;gap:4px}
.owner-history-type{font-size:12px;font-weight:650;color:var(--primary);line-height:1.2}
.owner-history-title{font-size:15px;font-weight:650;color:var(--text);line-height:1.25;overflow-wrap:anywhere}
.owner-history-detail{margin:0;color:var(--muted);font-size:14px;line-height:1.38;overflow-wrap:anywhere}
.owner-weight-panel{margin-top:24px}
.owner-weight-panel h3{margin:0 0 12px;font-size:22px;font-weight:650}
.owner-weight-table-wrap{overflow-x:auto}
.owner-weight-table{width:100%;table-layout:fixed;border-collapse:collapse;background:var(--card)}
.owner-weight-table th,.owner-weight-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.owner-weight-table th{font-size:12px;text-transform:uppercase;color:var(--muted);font-weight:650;background:rgba(148,163,184,.08)}
.owner-weight-up{color:#059669;font-weight:650}
.owner-weight-down{color:#dc2626;font-weight:650}
.owner-weight-same{color:var(--muted);font-weight:600}
.public-contact-actions{display:grid;gap:14px;margin:12px 0}
.public-contact-actions h2{margin:0 0 4px;font-size:22px;font-weight:650}
.public-contact-buttons{display:flex;gap:10px;flex-wrap:wrap}
.public-appointment-request{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:10px;align-items:start}
.public-appointment-request textarea{grid-column:span 2;min-height:38px}
.public-appointment-request .btn{white-space:nowrap}
.push-prompt-card{max-width:440px!important;text-align:left!important}
.push-prompt-card h2{margin:0 36px 8px 0!important;font-size:24px!important;font-weight:650!important}
.push-prompt-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.push-device-status{min-height:20px;margin:10px 0 0}
.topbar-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
@media(max-width:560px){
  .owner-history-timeline{gap:12px;padding-left:16px}
  .owner-history-item{grid-template-columns:1fr!important;gap:5px!important;padding-bottom:13px}
  .owner-history-dot{left:-23px;top:3px}
  .owner-history-date{white-space:normal;font-size:12px}
  .owner-history-title{font-size:14px}
  .owner-history-detail{font-size:13px}
  .owner-weight-panel{margin-top:20px}
  .owner-weight-panel h3{font-size:20px}
  .owner-weight-table th,.owner-weight-table td{padding:10px 8px;font-size:12.5px}
  .public-contact-buttons{display:grid;grid-template-columns:1fr 1fr}
  .public-appointment-request{grid-template-columns:1fr}
  .public-appointment-request textarea{grid-column:auto}
  .push-prompt-actions{display:grid;grid-template-columns:1fr}
}

/* Topbar movil final: sucursal compacta junto al POS y avatar real. */
@media(max-width:780px){
  .topbar{display:flex!important;flex-direction:row!important;align-items:center!important;height:52px!important;min-height:52px!important;padding:8px 10px!important;overflow:visible!important}
  .topbar-main-row{display:flex!important;align-items:center!important;gap:5px!important;width:100%!important;min-width:0!important;overflow:visible!important}
  .topbar-main-row>.mobile-menu-btn{order:1!important;flex:0 0 26px!important}
  .topbar-main-row>.top-spacer{order:2!important;display:block!important;flex:1 1 auto!important;min-width:4px!important}
  .topbar-main-row>.branch-form{order:4!important;display:block!important;flex:0 0 112px!important;width:112px!important;max-width:112px!important;min-width:92px!important;position:relative!important;z-index:3!important;pointer-events:auto!important}
  .topbar-main-row>.branch-fixed{order:4!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 112px!important;width:112px!important;max-width:112px!important;min-width:92px!important;position:relative!important;z-index:3!important;pointer-events:auto!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar-main-row>.branch-form select{display:block!important;width:100%!important;min-width:0!important;max-width:112px!important;height:32px!important;border-radius:10px!important;font-size:11.5px!important;padding:0 7px!important;cursor:pointer!important;pointer-events:auto!important}
  .topbar-main-row>.top-pos-link{order:5!important}
  .topbar-main-row>.nfc-scan-btn{order:6!important}
  .topbar-main-row>.notification-btn{order:7!important;margin-inline:2px!important;position:relative!important}
  .topbar-main-row .notification-btn{margin-inline:2px!important;position:relative!important}
  .topbar-main-row>.theme-toggle{order:8!important}
  .topbar-main-row>.top-profile{order:9!important;flex:0 0 26px!important;width:26px!important;min-width:26px!important;height:26px!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .topbar-main-row .mobile-menu-btn,
  .topbar-main-row .top-icon.icon-only,
  .topbar-main-row .top-avatar{width:26px!important;min-width:26px!important;height:26px!important;border-radius:9px!important;padding:0!important;display:grid!important;place-items:center!important;flex:0 0 26px!important}
  .topbar-main-row .sv-icon{width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;max-width:15px!important;max-height:15px!important}
  .topbar-main-row .notification-badge{top:-4px!important;right:-3px!important;min-width:15px!important;height:15px!important;font-size:8.5px!important;line-height:15px!important;padding:0 3px!important;border-width:1.5px!important}
  .top-mobile-branch{display:none!important}
}
@media(max-width:360px){
  .topbar{padding:8px 7px!important}
  .topbar-main-row{gap:3px!important}
  .topbar-main-row>.branch-form,
  .topbar-main-row>.branch-fixed{flex-basis:96px!important;width:96px!important;max-width:96px!important;min-width:86px!important}
  .topbar-main-row>.branch-form select{max-width:96px!important;font-size:11px!important;padding:0 5px!important}
  .topbar-main-row .mobile-menu-btn,
  .topbar-main-row .top-icon.icon-only,
  .topbar-main-row .top-avatar,
  .topbar-main-row>.top-profile{width:24px!important;min-width:24px!important;height:24px!important;flex-basis:24px!important}
  .topbar-main-row .sv-icon{width:13px!important;height:13px!important;min-width:13px!important;min-height:13px!important;max-width:13px!important;max-height:13px!important}
}

/* Acciones de registros: iconos visibles sin menús cortados. */
.action-icon-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.icon-post-form{display:inline-flex;margin:0}
.icon-post-form .icon-btn{margin:0}
.danger-icon{color:#dc2626!important}
.danger-icon .sv-icon{color:inherit!important;stroke:currentColor!important}
.btn-tiny{height:30px;padding:0 10px;font-size:12px;border-radius:10px}
.appointment-status-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:6px}
.push-preference-card{display:flex;align-items:center;justify-content:space-between;gap:14px}
.push-preference-card h2{margin:0 0 4px;font-size:20px;font-weight:650}
.public-appointment-modal .modal-card{width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}
.public-appointment-card .public-appointment-request{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.public-appointment-card .public-appointment-request textarea,
.public-appointment-card .public-appointment-request .centered-actions{grid-column:1/-1}
@media(max-width:560px){
  .action-icon-row{gap:8px}
  .appointment-status-actions{display:grid;grid-template-columns:1fr 1fr}
  .push-preference-card{display:grid;grid-template-columns:1fr}
  .public-appointment-card .public-appointment-request{grid-template-columns:1fr}
  .public-appointment-card .public-appointment-request textarea,
  .public-appointment-card .public-appointment-request .centered-actions{grid-column:auto}
}

/* Acciones compactas con menu de tres puntos cuando hay demasiadas opciones. */
.appointment-row-actions,.treatment-row-actions{display:inline-flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}
.appointment-actions-cell{min-width:116px}
.appointment-status-menu,.treatment-admin-menu{display:inline-grid!important;place-items:center!important;width:30px!important;height:30px!important;min-width:30px!important;margin:0!important;overflow:visible!important}
.appointment-status-menu>button,.treatment-admin-menu>button{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--primary)!important;font-size:18px!important;line-height:1!important;cursor:pointer!important}
.drop .menu-action-form{display:block!important;width:100%!important;margin:0!important}
.drop .menu-action-form+.menu-action-form{margin-top:2px!important}
.drop .menu-action-form .link-button{display:block!important;width:100%!important;text-align:left!important}
.drop .menu-action-form .link-button.negative{color:var(--red)!important}
.clinical-actions-slim .case-status-trigger.icon-btn{width:32px!important;min-width:32px!important;height:32px!important;padding:0!important;border-radius:9px!important}
.clinical-actions-slim .case-status-trigger.icon-btn .sv-icon{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important}
@media(max-width:560px){
  .appointment-actions-cell{min-width:104px}
  .appointment-row-actions,.treatment-row-actions{gap:7px!important}
  .clinical-actions-slim .case-status-trigger.icon-btn{width:30px!important;min-width:30px!important;height:30px!important}
}

/* Modo oscuro: contraste consistente en registros, tablas y acciones. */
.dark .clinical-card-modern,
.dark .clinical-card,
.dark .clinical-record-box,
.dark .clinical-status-card,
.dark .table-card,
.dark .table-card tbody tr,
.dark .record-box{
  background:#151922!important;
  color:var(--text)!important;
  border-color:#29303a!important;
  box-shadow:none!important;
}
.dark .clinical-card-modern h2,
.dark .clinical-card-modern h3,
.dark .clinical-card-modern h4,
.dark .clinical-card-modern strong,
.dark .clinical-card h2,
.dark .clinical-card h3,
.dark .clinical-card strong,
.dark .clinical-record-box strong,
.dark .clinical-status-card strong,
.dark .row-title,
.dark .pet-cell strong,
.dark .table-card strong{
  color:#f5f7fb!important;
}
.dark .clinical-card-modern p,
.dark .clinical-card-modern small,
.dark .clinical-card-modern span,
.dark .clinical-card p,
.dark .clinical-card small,
.dark .clinical-card span,
.dark .clinical-record-box,
.dark .clinical-record-box p,
.dark .clinical-status-card,
.dark .clinical-status-card span,
.dark .table-card td,
.dark .table-card td a,
.dark .pet-cell,
.dark .pet-cell span,
.dark .muted{
  color:#c7d2e2!important;
}
.dark .table-card th{
  background:#111827!important;
  color:#dbe7f5!important;
  border-color:#29303a!important;
}
.dark .table-card td{
  background:#151922!important;
  border-color:#29303a!important;
}
.dark .table-card tbody tr:hover td{
  background:#18212d!important;
}
.dark .link-button,
.dark .table-card a:not(.btn):not(.icon-btn),
.dark .pet-row-actions a,
.dark td.actions a{
  color:#5eead4!important;
}
.dark .link-button.negative,
.dark .drop .link-button.negative{
  color:#f87171!important;
}
.dark .clinical-card-modern .compact-vitals .vital-box,
.dark .compact-vitals .vital-box,
.dark .vital-box,
.dark .clinical-vital,
.dark .pet-vitals .vital-box{
  background:#111827!important;
  color:#f5f7fb!important;
  border-color:#334155!important;
}
.dark .clinical-card-modern .compact-vitals .vital-box span,
.dark .compact-vitals .vital-box span,
.dark .vital-box span{
  color:#c7d2e2!important;
}
.dark .clinical-card-modern .compact-vitals .vital-box strong,
.dark .compact-vitals .vital-box strong,
.dark .vital-box strong{
  color:#f5f7fb!important;
}
.dark .badge.active,
.dark .badge.success{
  background:#064e3b!important;
  color:#d1fae5!important;
}
.dark .badge.warning{
  background:#451a03!important;
  color:#fde68a!important;
}
.dark .badge.danger{
  background:#450a0a!important;
  color:#fecaca!important;
}
.dark .badge.neutral{
  background:#1f2937!important;
  color:#dbe7f5!important;
}
.dark .btn-soft{
  background:#1f2937!important;
  color:#dbeafe!important;
  border:1px solid #334155!important;
}
.dark .btn-soft:hover{
  background:#243244!important;
}
.dark .icon-btn{
  background:#111827!important;
  color:var(--primary)!important;
  border-color:#334155!important;
}
.dark .icon-btn:hover{
  background:#1f2937!important;
}

/* Modo oscuro final: negro limpio y superficies legibles en todos los modulos. */
.dark{
  --bg:#050608;
  --card:#0b0d10;
  --line:#24272d;
  --text:#f7f8fb;
  --muted:#a8b3c3;
  --sidebar:#080a0d;
  --sidebar-text:#f7f8fb;
  --shadow:none;
}
body.dark,
.dark body,
.dark .workspace,
.dark .content{
  background:#050608!important;
  color:#f7f8fb!important;
}
.dark .sidebar,
.dark .topbar{
  background:#0b0d10!important;
  border-color:#24272d!important;
}
.dark .card,
.dark .table-card,
.dark .toolbar,
.dark .tabs,
.dark .wizard-tabs,
.dark .wizard-footer,
.dark .doc-card,
.dark .modal-card,
.dark .settings-shell,
.dark .settings-section,
.dark .record-box,
.dark .clinical-summary-card,
.dark .clinical-card,
.dark .clinical-card-modern,
.dark .indicator-card,
.dark .chart-panel,
.dark .calendar-card,
.dark .birthday-box,
.dark .role-card,
.dark .role-registry-item,
.dark .perm-group,
.dark .service-form,
.dark .mini-reg-card,
.dark .branch-card,
.dark .owner-list>div,
.dark .pet-health-summary>div,
.dark .pet-health-status-card>div,
.dark .document-card-compact,
.dark .compact-result-card,
.dark .expediente-list-card,
.dark .lab-result-card{
  background:#0b0d10!important;
  color:#f7f8fb!important;
  border-color:#24272d!important;
  box-shadow:none!important;
}
.dark .clinical-summary-card span,
.dark .clinical-summary-card .muted,
.dark .clinical-card-modern .muted,
.dark .clinical-card .muted,
.dark .table-card .muted,
.dark .doc-card .muted,
.dark .indicator-card span,
.dark .owner-list span,
.dark .mini-chart-bar span{
  color:#a8b3c3!important;
}
.dark .clinical-summary-card strong,
.dark .clinical-card-modern h3,
.dark .clinical-card-modern b,
.dark .clinical-card h3,
.dark .clinical-card b,
.dark .table-card strong,
.dark .row-title,
.dark .pet-cell strong,
.dark .doc-card h3,
.dark .indicator-card strong,
.dark .mini-chart-bar b,
.dark .settings-section h2,
.dark .perm-group h3{
  color:#f7f8fb!important;
}
.dark .clinical-monitor div,
.dark .compact-vitals .vital-box,
.dark .clinical-card-modern .compact-vitals .vital-box,
.dark .vital-box,
.dark .clinical-vital,
.dark .pet-vitals .vital-box,
.dark .calendar-day,
.dark .mini-detail,
.dark .compact-metric,
.dark .perm-check,
.dark .permission-grid label,
.dark .check-grid label{
  background:#07090c!important;
  color:#f7f8fb!important;
  border-color:#272b33!important;
}
.dark .clinical-monitor span,
.dark .compact-vitals .vital-box span,
.dark .vital-box span,
.dark .mini-detail span,
.dark .compact-metric span{
  color:#a8b3c3!important;
}
.dark .clinical-monitor b,
.dark .compact-vitals .vital-box strong,
.dark .vital-box strong,
.dark .mini-detail strong,
.dark .compact-metric strong{
  color:#f7f8fb!important;
}
.dark .clinical-summary-card,
.dark .table-card th{
  background:#090b0e!important;
}
.dark .table-card td{
  background:#0b0d10!important;
  color:#f7f8fb!important;
  border-color:#24272d!important;
}
.dark .table-card tbody tr:hover td{
  background:#101318!important;
}
.dark input,
.dark select,
.dark textarea,
.dark .form-control,
.dark .branch-form select{
  background:#07090c!important;
  color:#f7f8fb!important;
  border-color:#30343d!important;
}
.dark input::placeholder,
.dark textarea::placeholder{
  color:#7f8a9b!important;
}
.dark .menu-item,
.dark .menu-group-title,
.dark .brand-title,
.dark .brand-subtitle{
  color:#e8edf5!important;
}
.dark .menu-item.active,
.dark .menu-item:hover{
  background:#101a1c!important;
  color:var(--primary)!important;
}
.dark .top-icon,
.dark .top-icon.icon-only,
.dark .nfc-scan-btn.clean-top-icon,
.dark .theme-toggle,
.dark .profile-btn{
  background:transparent!important;
  color:#f7f8fb!important;
  border-color:transparent!important;
}
.dark .btn-soft,
.dark .pagination-bar button,
.dark .chart-toolbar button,
.dark .interactive-legend button{
  background:#111418!important;
  color:#dbeafe!important;
  border-color:#2c313a!important;
}
.dark .btn-soft:hover,
.dark .pagination-bar button:hover,
.dark .chart-toolbar button:hover,
.dark .interactive-legend button:hover{
  background:#171b22!important;
}
.dark .icon-btn,
.dark .clinical-actions-slim .case-status-trigger.icon-btn{
  background:#101318!important;
  color:var(--primary)!important;
  border-color:#30343d!important;
}
.dark .case-status-dot{
  background:#101318!important;
  color:#dbeafe!important;
  border:1px solid #2c313a!important;
}
.dark .case-status-dot:before{
  background:var(--primary)!important;
}
.dark .pet-row-actions>a,
.dark .table-card a:not(.btn):not(.icon-btn),
.dark td.actions a,
.dark .link-button{
  color:#5eead4!important;
}
.dark .pet-row-actions>a:hover,
.dark .table-card a:not(.btn):not(.icon-btn):hover,
.dark .link-button:hover{
  color:#99f6e4!important;
}
.dark .drop,
.dark .drop.floating-drop,
.dark .profile-menu,
.dark .dots-menu{
  background:#0b0d10!important;
  color:#f7f8fb!important;
  border-color:#30343d!important;
  box-shadow:0 18px 44px rgba(0,0,0,.45)!important;
}
.dark .drop a:hover,
.dark .profile-menu a:hover{
  background:#141820!important;
}
.dark .badge.active,
.dark .badge.success{
  background:#064e3b!important;
  color:#d1fae5!important;
}
.dark .badge.warning{
  background:#451a03!important;
  color:#fde68a!important;
}
.dark .badge.danger,
.dark .badge.inactive{
  background:#450a0a!important;
  color:#fecaca!important;
}
.dark .badge.neutral{
  background:#151a21!important;
  color:#dbe7f5!important;
}

.filter-hidden{
  display:none!important;
}

.icon-btn .sv-icon,
.btn .sv-icon,
.top-icon .sv-icon,
.menu-item .sv-icon,
.dots>button .sv-icon{
  color:currentColor!important;
  fill:currentColor!important;
  stroke:currentColor!important;
}
body:not(.dark) .icon-btn,
body:not(.dark) .top-icon,
body:not(.dark) .dots>button{
  color:#0f172a!important;
}
body:not(.dark) .btn-primary,
body:not(.dark) .btn-primary .sv-icon,
body:not(.dark) .badge.success,
body:not(.dark) .badge.success .sv-icon{
  color:#fff!important;
}
.dark .icon-btn,
.dark .top-icon,
.dark .top-icon.icon-only,
.dark .dots>button{
  color:#f7f8fb!important;
}
.dark .btn-primary,
.dark .btn-primary .sv-icon,
.dark .badge.success,
.dark .badge.success .sv-icon{
  color:#fff!important;
}
.danger-icon,
.danger-icon .sv-icon{
  color:#dc2626!important;
}
.dark .danger-icon,
.dark .danger-icon .sv-icon{
  color:#f87171!important;
}

/* Registro clinico: las tarjetas no deben estirarse cuando el filtro deja pocas coincidencias. */
.clinical-card-grid{
  grid-template-columns:repeat(auto-fill,minmax(300px,368px))!important;
  justify-content:start!important;
  align-items:stretch!important;
}
.clinical-card-grid .clinical-card{
  width:100%!important;
  max-width:368px!important;
  min-width:0!important;
}
@media(max-width:560px){
  .clinical-card-grid{
    grid-template-columns:1fr!important;
  }
  .clinical-card-grid .clinical-card{
    max-width:none!important;
  }
}

/* Compact production pass: formularios, tarjetas filtradas y paginacion estable. */
.content{
  padding:22px 24px!important;
  max-width:1540px!important;
}
.page-head{
  gap:14px!important;
  margin-bottom:16px!important;
}
.page-title h1{
  font-size:26px!important;
  line-height:1.12!important;
}
.card,
.table-card,
.toolbar{
  border-radius:14px!important;
}
.card{
  padding:16px!important;
}
.toolbar{
  padding:12px!important;
  gap:10px!important;
}
.form-control,
.menu-search input,
.toolbar input,
.toolbar select{
  min-height:40px!important;
  padding:9px 12px!important;
  border-radius:10px!important;
}
.btn{
  min-height:36px!important;
  padding:8px 12px!important;
  border-radius:10px!important;
}
.btn-small{
  min-height:28px!important;
  padding:5px 9px!important;
}
.grid{
  gap:14px!important;
}
.clinical-summary-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:12px!important;
}
.clinical-summary-card{
  min-height:92px!important;
  padding:14px 16px!important;
}
.clinical-summary-card strong{
  font-size:24px!important;
}
.clinical-card-grid{
  grid-template-columns:repeat(auto-fill,minmax(240px,300px))!important;
  justify-content:start!important;
  align-items:start!important;
  gap:14px!important;
}
.clinical-card-grid .clinical-card{
  width:100%!important;
  max-width:300px!important;
  min-width:0!important;
  min-height:284px!important;
  padding:16px!important;
}
.clinical-monitor{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.clinical-monitor div{
  min-height:60px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
}
.table-pager,
.document-pager,
.clinical-report-pager{
  position:sticky!important;
  bottom:0!important;
  z-index:7!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:6px!important;
  margin-top:12px!important;
  padding:8px 0!important;
  border-top:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--bg) 94%,transparent)!important;
  backdrop-filter:blur(10px);
}
.table-pager .btn,
.document-pager .btn,
.document-pager button,
.clinical-report-pager .btn{
  height:28px!important;
  min-height:28px!important;
  min-width:30px!important;
  width:auto!important;
  padding:0 9px!important;
  border-radius:8px!important;
  font-size:12px!important;
}
.historical-batch-form{
  display:grid;
  gap:14px;
}
.historical-batch-header{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr .8fr;
  gap:12px;
}
.historical-source-notes{
  margin:0;
}
.historical-batch-actions{
  display:flex;
  justify-content:flex-start;
}
.historical-batch-grid{
  display:grid;
  gap:10px;
}
.historical-card-row{
  display:grid;
  grid-template-columns:130px 132px 132px minmax(180px,1fr) minmax(150px,.75fr) 110px 96px minmax(160px,1fr) 34px;
  gap:9px;
  align-items:end;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--card) 92%,var(--bg));
}
.historical-card-row .form-group{
  margin:0;
}
.historical-row-remove{
  align-self:end;
  width:34px!important;
  height:34px!important;
  border:1px solid var(--line)!important;
  color:var(--red)!important;
  background:var(--card)!important;
}
@media(max-width:1100px){
  .historical-batch-header{
    grid-template-columns:1fr 1fr;
  }
  .historical-card-row{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .historical-row-notes{
    grid-column:span 2;
  }
}
@media(max-width:780px){
  .content{
    padding:14px 10px!important;
  }
  .page-title h1{
    font-size:23px!important;
  }
  .card{
    padding:14px!important;
  }
  .clinical-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .clinical-card-grid{
    grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;
  }
  .clinical-card-grid .clinical-card{
    max-width:none!important;
    min-height:270px!important;
  }
  .historical-batch-header,
  .historical-card-row{
    grid-template-columns:1fr!important;
  }
  .historical-row-notes{
    grid-column:auto;
  }
  .table-pager,
  .document-pager,
  .clinical-report-pager{
    justify-content:flex-end!important;
    overflow-x:auto;
  }
}
@media(max-width:560px){
  .clinical-summary-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .clinical-card-grid{
    grid-template-columns:1fr!important;
  }
  .clinical-monitor{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
