/* Minification failed. Returning unminified contents.
(2,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(4,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(27,28): run-time error CSS1039: Token not allowed after unary operator: '-color-page-bg'
(38,56): run-time error CSS1039: Token not allowed after unary operator: '-color-accent'
(46,55): run-time error CSS1039: Token not allowed after unary operator: '-color-accent'
(51,28): run-time error CSS1039: Token not allowed after unary operator: '-color-body-bg'
(53,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text'
(66,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text'
(73,17): run-time error CSS1039: Token not allowed after unary operator: '-color-text'
(81,28): run-time error CSS1039: Token not allowed after unary operator: '-color-warning'
(127,17): run-time error CSS1039: Token not allowed after unary operator: '-color-brand'
(132,28): run-time error CSS1039: Token not allowed after unary operator: '-color-border'
(137,22): run-time error CSS1039: Token not allowed after unary operator: '-color-primary'
(150,22): run-time error CSS1039: Token not allowed after unary operator: '-color-primary-600'
(830,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(831,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(832,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(833,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(834,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(837,22): run-time error CSS1039: Token not allowed after unary operator: '-_bg'
(838,17): run-time error CSS1039: Token not allowed after unary operator: '-_text'
(841,25): run-time error CSS1039: Token not allowed after unary operator: '-_radius'
(856,22): run-time error CSS1039: Token not allowed after unary operator: '-_bg-hover'
(860,22): run-time error CSS1039: Token not allowed after unary operator: '-_bg-active'
(866,48): run-time error CSS1039: Token not allowed after unary operator: '-color-accent'
(877,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(880,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(881,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(882,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(885,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(886,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(887,28): run-time error CSS1039: Token not allowed after unary operator: '-color-primary'
(891,22): run-time error CSS1039: Token not allowed after unary operator: '-color-primary'
(895,22): run-time error CSS1039: Token not allowed after unary operator: '-color-primary-600'
(1038,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1039,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1040,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1041,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1047,48): run-time error CSS1039: Token not allowed after unary operator: '-color-accent'
 */
:root {
    --color-page-bg: #e2e2e2;
    --color-body-bg: #fff;
    --color-text: #333;
    --color-primary: #1976d2;
    --color-primary-600: #125ea7;
    --color-accent: #258cfb;
    --color-brand: #0a3d91;
    --color-border: #bfc9d1;
    --color-warning: #ffc107;
}

/* Normalización ligera */
*, *::before, *::after {
    box-sizing: border-box;
}

img, svg {
    max-width: 100%;
    height: auto;
}

/* Raíz */
html {
    position: relative;
    min-height: 100%;
    background-color: var(--color-page-bg);
    margin: 0;
    padding: 0;
    font-size: 14px;
}
@media (min-width: 768px) {
    html { font-size: 16px; }
}

/* Estados de foco */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--color-accent);
}
a:focus-visible,
.btn:focus-visible,
.btn-link.nav-link:focus-visible,
.form-control:focus-visible,
.form-check-input:focus-visible {
    outline: none;
    box-shadow: 0 0 0 0.1rem #fff, 0 0 0 0.25rem var(--color-accent);
}

/* Cuerpo */
body {
    background-color: var(--color-body-bg);
    border-top: solid 10px #000;
    color: var(--color-text);
    font-size: .85em;
    font-family: "Segoe UI", Verdana, Helvetica, Sans-Serif;
    margin: 0;
    padding: 0;
    margin-bottom: 60px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Enlaces */
a {
    color: var(--color-text);
    outline: none;
    padding-left: 3px;
    padding-right: 3px;
    text-decoration: underline;
}
a:link, a:visited, a:active, a:hover {
    color: var(--color-text);
}
a:hover {
    background-color: #c7d1d6;
}

/* Componentes */
.modal-header.bg-warning {
    background-color: var(--color-warning);
}

/* Layout login */
.login-container {
    min-height: 100vh;
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.urg-img {
    background: url('/imagenes/bg_login_3.jpg') no-repeat center center;
    background-size: cover;
    width: 60vw;
    height: 100vh;
    display: block;
}

.box {
    width: 40vw;
    min-width: 370px;
    border-radius: 8px;
    margin: auto;
    display: flex;
    align-items: center;
}

.login-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 8px 32px rgba(44, 62, 80, 0.15);
    padding: 2.5rem 2rem 2rem 2rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.login-logo {
    width: 120px;
    margin-bottom: 1.5rem;
}

.form-label {
    font-weight: 500;
    color: var(--color-brand);
}

.form-control {
    border-radius: 8px;
    border: 1px solid var(--color-border);
    font-size: 1rem;
}

.btn-login {
    background: var(--color-primary);
    color: #fff;
    border-radius: 8px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
    margin-top: 1rem;
    width: 100%;
    padding: 0.75rem 0;
    transition: background 0.2s;
}
.btn-login:hover {
    background: var(--color-primary-600);
}

.alert-danger {
    width: 100%;
    text-align: center;
    margin-bottom: 1rem;
}

/* Overlay de carga (consolidado) */
#loadingOverlay {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    background: rgba(255,255,255,0.7);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
#loadingOverlay.is-active {
    display: flex;
}

.form-group {
    margin-bottom: 2rem;
}

.control-label {
    font-weight: bold;
    font-size: 1.1rem;
    color: #2c3e50;
    display: block;
    margin-bottom: 0.5rem;
}

.required-asterisk {
    color: red;
    font-weight: bold;
    margin-left: 3px;
}

/* HTML5 elements block display */
header, footer, hgroup, nav, section {
    display: block;
}

mark {
    background-color: #a6dbed;
    padding-left: 5px;
    padding-right: 5px;
}

.float-left { float: left; }
.float-right { float: right; }

.float-left p {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    line-height: 1;
}
.float-left p img, .float-left p .aspImage {
    display: inline-block;
    vertical-align: middle;
}

/* Clearfix moderno */
.clear-fix::after {
    content: "";
    display: table;
    clear: both;
}

/* Titulares */
h1, h2, h3, h4, h5, h6 {
    color: #000;
    margin-bottom: 0;
    padding-bottom: 0;
}
h1 { font-size: 2em; }
h2 { font-size: 1.75em; }
h3 { font-size: 1.2em; }
h4 { font-size: 1.1em; }
h5 { font-size: 1.1em; font-weight: 700; }
h6 { font-size: 1em; }
h5 a:link, h5 a:visited, h5 a:active {
    padding: 0;
    text-decoration: none;
}

/* main layout */
.content-wrapper {
    margin: 0 auto;
    max-width: 1200px;
}

#body {
    background-color: #efeeef;
    clear: both;
    padding-bottom: 35px;
}

.main-content {
    /*background: url("../Images/accent.png") no-repeat;*/
    padding-left: 10px;
    padding-top: 30px;
}

/*.featured + .main-content {
    background: url("../Images/heroAccent.png") no-repeat;
}*/

header .content-wrapper {
    padding-top: 20px;
}

footer {
    clear: both;
    background-color: #e2e2e2;
    font-size: .8em;
    height: 100px;
}

/* site title */
.site-title {
    color: #c8c8c8;
    font-family: Rockwell, Consolas, "Courier New", Courier, monospace;
    font-size: 2.3em;
    margin: 0;
}
.site-title a, .site-title a:hover, .site-title a:active {
    background: none;
    color: #c8c8c8;
    outline: none;
    text-decoration: none;
}

/* login (cabecera superior) */
#login {
    display: block;
    font-size: .85em;
    margin: 0 0 10px;
    text-align: right;
}
#login a {
    background-color: #d3dce0;
    margin-left: 10px;
    margin-right: 3px;
    padding: 2px 3px;
    text-decoration: none;
}
#login a.username {
    background: none;
    margin-left: 0px;
    text-decoration: underline;
}
#login ul { margin: 0; }
#login li {
    display: inline;
    list-style: none;
}

/* menu */
ul#menu {
    font-size: 1.3em;
    font-weight: 600;
    margin: 0 0 5px;
    padding: 0;
    text-align: right;
}
ul#menu li {
    display: inline;
    list-style: none;
    padding-left: 15px;
}
ul#menu li a {
    background: none;
    color: #999;
    text-decoration: none;
}
ul#menu li a:hover {
    color: #333;
    text-decoration: none;
}

/* page elements */
/* featured */
.featured {
    background-color: #fff;
}
.featured .content-wrapper {
    background-color: #7ac0da;
    background: linear-gradient(to right, #7ac0da 0%, #a4d4e6 100%);
    color: #3e5667;
    padding: 20px 40px 30px 40px;
}
.featured hgroup.title h1, .featured hgroup.title h2 {
    color: #fff;
}
.featured p {
    font-size: 1.1em;
}

/* page titles */
hgroup.title {
    margin-bottom: 10px;
}
hgroup.title h1, hgroup.title h2 {
    display: inline;
}
hgroup.title h2 {
    font-weight: normal;
    margin-left: 3px;
}

/* features */
section.feature {
    width: 300px;
    float: left;
    padding: 10px;
}

/* ordered list */
ol.round {
    list-style-type: none;
    padding-left: 0;
}
ol.round li {
    margin: 25px 0;
    padding-left: 45px;
}
ol.round li.zero { background: url("../Images/orderedList0.png") no-repeat; }
ol.round li.one { background: url("../Images/orderedList1.png") no-repeat; }
ol.round li.two { background: url("../Images/orderedList2.png") no-repeat; }
ol.round li.three { background: url("../Images/orderedList3.png") no-repeat; }
ol.round li.four { background: url("../Images/orderedList4.png") no-repeat; }
ol.round li.five { background: url("../Images/orderedList5.png") no-repeat; }
ol.round li.six { background: url("../Images/orderedList6.png") no-repeat; }
ol.round li.seven { background: url("../Images/orderedList7.png") no-repeat; }
ol.round li.eight { background: url("../Images/orderedList8.png") no-repeat; }
ol.round li.nine { background: url("../Images/orderedList9.png") no-repeat; }

/* content */
article {
    float: left;
    width: 70%;
}
aside {
    float: right;
    width: 25%;
}
aside ul {
    list-style: none;
    padding: 0;
}
aside ul li {
    background: url("../Images/bullet.png") no-repeat 0 50%;
    padding: 2px 0 2px 20px;
}

.label {
    font-weight: 700;
}

/* login page */
#loginForm {
    border-right: solid 2px #c8c8c8;
    float: left;
    width: 55%;
}
#loginForm .validation-error {
    display: block;
    margin-left: 15px;
}
#socialLoginForm {
    margin-left: 40px;
    float: left;
    width: 40%;
}
#socialLoginForm h2 {
    margin-bottom: 5px;
}
fieldset.open-auth-providers {
    margin-top: 15px;
}
fieldset.open-auth-providers button {
    margin-bottom: 12px;
}

/* contact */
.contact h3 {
    font-size: 1.2em;
}
.contact p {
    margin: 5px 0 0 10px;
}
.contact iframe {
    border: 1px solid #333;
    margin: 5px 0 0 10px;
}

/* forms */
fieldset {
    border: none;
    margin: 0;
    padding: 0;
}
fieldset legend {
    display: none;
}
fieldset ol {
    padding: 0;
    list-style: none;
}
fieldset ol li {
    padding-bottom: 5px;
}
label {
    display: block;
    font-size: 1.2em;
    font-weight: 600;
}
label.checkbox {
    display: inline;
}
input, textarea {
    border: 1px solid #e2e2e2;
    background: #fff;
    color: #333;
    font-size: 1.2em;
    margin: 5px 0 6px 0;
    padding: 5px;
    width: 300px;
}
textarea {
    font-family: inherit;
    width: 500px;
}
input:focus, textarea:focus {
    border: 1px solid #7ac0da;
}
input[type="checkbox"] {
    background: transparent;
    border: inherit;
    width: auto;
}
input[type="submit"],
input[type="button"],
button {
    background-color: #125ea7;
    border: 1px solid #787878;
    cursor: pointer;
    font-size: 1.2em;
    font-weight: 600;
    padding: 7px;
    margin-right: 8px;
    width: auto;
}
td input[type="submit"],
td input[type="button"],
td button {
    font-size: 1em;
    padding: 4px;
    margin-right: 4px;
}

/* info and errors */
.message-info {
    border: 1px solid;
    clear: both;
    padding: 10px 20px;
}
.message-error {
    clear: both;
    color: #e80c4d;
    font-size: 1.1em;
    font-weight: bold;
    margin: 20px 0 10px 0;
}
.message-success {
    color: #7ac0da;
    font-size: 1.3em;
    font-weight: bold;
    margin: 20px 0 10px 0;
}
.error {
    color: #e80c4d;
}

/* styles for validation helpers */
.field-validation-error {
    color: #e80c4d;
    font-weight: bold;
}
.field-validation-valid {
    display: none;
}
input.input-validation-error {
    border: 1px solid #e80c4d;
}
input[type="checkbox"].input-validation-error {
    border: 0 none;
}
.validation-summary-errors {
    color: #e80c4d;
    font-weight: bold;
    font-size: 1.1em;
}
.validation-summary-valid {
    display: none;
}

/* tables */
table {
    border-collapse: collapse;
    border-spacing: 0;
    margin-top: 0.75em;
    border: 0 none;
}
th {
    font-size: 1.2em;
    text-align: left;
    border: none 0px;
    padding-left: 0;
}
th a {
    display: block;
    position: relative;
}
th a:link, th a:visited, th a:active, th a:hover {
    color: #333;
    font-weight: 600;
    text-decoration: none;
    padding: 0;
}
th a:hover {
    color: #000;
}
th.asc a, th.desc a {
    margin-right: .75em;
}
th.asc a:after, th.desc a:after {
    display: block;
    position: absolute;
    right: 0em;
    top: 0;
    font-size: 0.75em;
}
th.asc a:after { content: '▲'; }
th.desc a:after { content: '▼'; }
td {
    padding: 0.25em 2em 0.25em 0em;
    border: 0 none;
}
tr.pager td {
    padding: 0 0.25em 0 0;
}

 /* Contenedor con scroll */
.gridContainer {
    max-height: 480px; /* ajusta a tu necesidad */
    overflow-y: auto;
    border: 1px solid #ddd;
    background: #fff;
    position: relative;
}

/* Evita problemas de sticky con colapso de bordes */
.dtgAccesos {
    border-collapse: separate;
    border-spacing: 0;
}

/* Encabezado fijo */
.dtgAccesos thead tr {
    position: sticky;
    top: 0;
    z-index: 2;
}

.dtgAccesos thead th,
.dtgAccesos thead td {
    background: #1976d2; /* combina con tu tema */
    color: #fff;
    font-weight: 600;
    padding: 6px 8px;
}

/* Enlaces de ordenación del header */
.dtgAccesos thead a { color: #fff; }
.dtgAccesos thead a:hover { text-decoration: underline; }
/********************
*   Mobile Styles   *
********************/
@media only screen and (max-width: 850px) {

    /* header */
    header .float-left,
    header .float-right {
        float: none;
    }

    /* logo */
    header .site-title {
        margin: 10px;
        text-align: center;
    }

    /* login */
    #login {
        font-size: .85em;
        margin: 0 0 12px;
        text-align: center;
    }
    #login ul {
        margin: 5px 0;
        padding: 0;
    }
    #login li {
        display: inline;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    #login a {
        background: none;
        color: #999;
        font-weight: 600;
        margin: 2px;
        padding: 0;
    }
    #login a:hover {
        color: #333;
    }

    /* menu */
    nav {
        margin-bottom: 5px;
    }
    ul#menu {
        margin: 0;
        padding: 0;
        text-align: center;
    }
    ul#menu li {
        margin: 0;
        padding: 0;
    }

    /* main layout */
    .main-content,
    .featured + .main-content {
        background-position: 10px 0;
    }
    .content-wrapper {
        padding-right: 10px;
        padding-left: 10px;
    }
    .featured .content-wrapper {
        padding: 10px;
    }

    /* page content */
    article, aside {
        float: none;
        width: 100%;
    }

    /* ordered list */
    ol.round {
        list-style-type: none;
        padding-left: 0;
    }
    ol.round li {
        padding-left: 10px;
        margin: 25px 0;
    }
    ol.round li.zero,
    ol.round li.one,
    ol.round li.two,
    ol.round li.three,
    ol.round li.four,
    ol.round li.five,
    ol.round li.six,
    ol.round li.seven,
    ol.round li.eight,
    ol.round li.nine {
        background: none;
    }

    /* features */
    section.feature {
        float: none;
        padding: 10px;
        width: auto;
    }
    section.feature img {
        color: #999;
        content: attr(alt);
        font-size: 1.5em;
        font-weight: 600;
    }

    /* forms */
    input {
        width: 90%;
    }

    /* login page responsive refinements */
    .login-container { align-items: center; }
    .urg-img { display: none; }
    .box {
        width: min(94vw, 560px);
        min-width: 0;
    }
    .login-card {
        padding: 2rem 1.25rem;
    }

    /* footer */
    footer .float-left,
    footer .float-right {
        float: none;
    }
    footer {
        text-align: center;
        height: auto;
        padding: 10px 0;
    }
    footer p { margin: 0; }

    /* Forzar fondo uniforme en contenedores específicos */
    section.content-wrapper.main-content.clear-fix,
    .content-wrapper.main-content.clear-fix,
    .featured + section.content-wrapper.main-content.clear-fix,
    .featured + .content-wrapper.main-content.clear-fix {
        background-image: none !important;
        background: #f5f5f5 !important;
        background-repeat: no-repeat !important;
        background-position: 0 0 !important;
    }
}
/* END: Mobile Styles */

/* Accesibilidad: reduce motion */
@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

.btnAction {
    display: inline-block;
    width: 140px; /* ajusta si quieres otro ancho */
    text-align: center;
    padding: 7px 0;
    font-weight: 600;
    background-color: #d3dce0;
    border: 1px solid #787878;
    cursor: pointer;
}

.btnAction:hover {
    background-color: #c1ccd1;
}

@media (max-width: 850px) {
    .btnAction {
        min-width: 140px;
        margin-bottom: 6px;
    }
}

/* === Botones modernos para asp:Button (WebForms) === */
.btn {
    --_bg: var(--color-primary, #d3dce0);
    --_bg-hover: var(--color-primary-600,#d3dce0 );
    --_bg-active: #0d4d82;
    --_text: #fff;
    --_radius: 8px;
    appearance: none;
    border: none;
    background: var(--_bg);
    color: var(--_text);
    font: 600 0.95rem/1.2 "Segoe UI", Arial, sans-serif;
    padding: .65rem 1.25rem;
    border-radius: var(--_radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    cursor: pointer;
    text-decoration: none;
    letter-spacing: .5px;
    text-transform: uppercase;
    box-shadow: 0 2px 4px rgba(0,0,0,.12);
    transition: background .25s, box-shadow .25s, transform .15s;
    position: relative;
    user-select: none;
}
.btn:hover:not([disabled]) {
    background: var(--_bg-hover);
    box-shadow: 0 4px 10px rgba(0,0,0,.18);
}
.btn:active:not([disabled]) {
    background: var(--_bg-active);
    transform: translateY(1px);
    box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--color-accent,#258cfb);
}
.btn[disabled] {
    opacity: .55;
    cursor: not-allowed;
    box-shadow: none;
}

/* Variantes */
.btn-secondary {
    /* color de foco original (antes usado como fondo) */
    --_focus-color: #5e6b78;

    /* fondo invertido: usar el accent como background */
    --_bg: var(--color-accent, #258cfb);
    --_bg-hover: var(--color-primary-600, #125ea7);
    --_bg-active: #0d4d82;
}
.btn-outline {
    --_bg: transparent;
    --_text: var(--color-primary,#1976d2);
    border: 2px solid var(--color-primary,#1976d2);
    box-shadow: none;
}
.btn-outline:hover:not([disabled]) {
    background: var(--color-primary,#1976d2);
    color: #fff;
}
.btn-outline:active:not([disabled]) {
    background: var(--color-primary-600,#125ea7);
}

/* Grupo para igualar ancho */
.btn-group {
    display: flex;
    gap: .75rem;
    width: 100%;
    max-width: 340px;
    min-width: 100px;
}
.btn-group .btn {
    flex: 1 1 0;
}

/* Estado de carga (agregar atributo data-loading="true" desde servidor si se requiere) */
.btn[data-loading="true"] {
    pointer-events: none;
    opacity: .85;
}
.btn[data-loading="true"]::after {
    content: "";
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255,255,255,.6);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin .8s linear infinite;
}
@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Responsive: apilar botones en pantallas pequeñas */
@media (max-width: 600px) {
    .btn-group {
        flex-direction: column;
        max-width: 100%;
    }
    .btn-group .btn {
        width: 100%;
    }
}
/* === Unificación de estilos de inputs (Reporte_accesos) === */
.label {
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
    font-size: .85rem;
    color: #333;
}

.input-control {
    display: block;
    width: 100%;
    padding: .45rem .6rem;
    font-size: .9rem;
    line-height: 1.4;
    color: #222;
    background: #fff;
    border: 1px solid #c9cfd4;
    border-radius: 4px;
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s;
}

    .input-control:focus {
        outline: 0;
        border-color: #0d6efd;
        box-shadow: 0 0 0 2px rgba(13,110,253,.25);
        background: #fff;
    }

    .input-control[disabled],
    .input-control:disabled {
        background: #f3f4f6;
        color: #6b6f76;
        cursor: not-allowed;
    }

.input-date {
    max-width: 180px;
}

/* Tabla de filtros */
.filtros {
    border-collapse: separate;
    border-spacing: 0 0;
    margin-bottom: .75rem;
}

.filtros__cell {
    padding: 0 20px 0 0;
    vertical-align: bottom;
    min-width: 170px;
}

    .filtros__cell:first-child {
        padding-left: 0;
    }

.filtros__cell--buttons {
    min-width: 240px;
}

.filtros__actions {
    display: flex;
    gap: .5rem;
    align-items: flex-end;
    flex-wrap: wrap;
}


.btn-group .btn {
    font-size: .85rem;
    padding: .5rem .9rem;
    border-radius: 4px;
}

/* Ajustes responsivos simples */
@media (max-width: 800px) {
    .filtros {
        width: 100%;
    }

        .filtros tr,
        .filtros td {
            display: block;
            width: 100%;
            padding: 0 0 .75rem 0;
        }

    .filtros__cell--buttons .btn-group {
        justify-content: flex-start;
    }

    .input-date {
        max-width: 100%;
    }
}

/* .btn-secondary: fondo oscuro y foco con color claro (anillo) */
.btn-secondary {
    --_bg: #5e6b78; /* color más oscuro usado como background */
    --_bg-hover: #4e596c;
    --_bg-active: #3b444c;
    --_text: #fff;
}

/* Asegura que el foco sobre botones secundarios use el color más claro */
.btn-secondary:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--color-accent, #258cfb);
}

/* === Alineación horizontal filtros (Reporte_accesos) === */
.filtros .label {
    display: inline-block;
    margin: 0 .5rem 0 0;
    font-size: .85rem;
}

.filtros .input-control {
    display: inline-block;
    width: auto;
    min-width: 220px; /* ancho cómodo para el combo */
    vertical-align: middle;
}

.filtros .input-date {
    min-width: 160px;
    max-width: 180px; /* respeta el tope ya definido */
}

.filtros__cell {
    white-space: nowrap;          /* mantiene cada par etiqueta-control en una línea */
    vertical-align: middle;       /* alinea los controles por la base */
    padding-right: 20px;
}
