/* Bootstrap 5: paleta exclusiva del tema TecPC, incluidos estados interactivos. */
:root{
 --tec-primary:#c90020;--tec-primary-hover:#a8001b;--tec-ink:#17212d;--tec-muted:#566371;--tec-line:#e1e6eb;--tec-soft:#f4f6f8;
 --bs-primary:#c90020;--bs-primary-rgb:201,0,32;--bs-secondary:#566371;--bs-secondary-rgb:86,99,113;
 --bs-success:#28704f;--bs-success-rgb:40,112,79;--bs-info:#42566c;--bs-info-rgb:66,86,108;
 --bs-warning:#f0ce82;--bs-warning-rgb:240,206,130;--bs-danger:#b42335;--bs-danger-rgb:180,35,53;
 --bs-light:#f4f6f8;--bs-light-rgb:244,246,248;--bs-dark:#17212d;--bs-dark-rgb:23,33,45;
 --bs-body-color:#17212d;--bs-link-color:#c90020;--bs-link-hover-color:#a8001b;--bs-border-color:#e1e6eb;
}

.btn-primary{color:#fff;background-color:#c90020;border:1px solid #c90020}
.btn-primary:hover,.btn-primary:focus{color:#fff;background-color:#a8001b;border-color:#a8001b;text-decoration:none}
.btn-check:checked+.btn-primary,.btn-check:active+.btn-primary,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#a8001b;border-color:#a8001b}
.btn-primary:disabled,.btn-primary.disabled{color:#fff;background-color:#c90020;border-color:#c90020;opacity:.65}
.btn-outline-primary{color:#c90020;background-color:transparent;border:1px solid #c90020}
.btn-outline-primary:hover,.btn-check:checked+.btn-outline-primary,.btn-check:active+.btn-outline-primary,.btn-outline-primary:active,.btn-outline-primary.active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#c90020;border-color:#c90020}
.btn-outline-primary:disabled,.btn-outline-primary.disabled{color:#c90020;background-color:transparent;border-color:#c90020;opacity:.65}
.text-primary,.link-primary{color:#c90020!important}
.link-primary:hover,.link-primary:focus{color:#a8001b!important}
.bg-primary{background-color:#c90020!important}
.border-primary{border-color:#c90020!important}
.text-bg-primary{color:#fff!important;background-color:#c90020!important}
.alert-primary{color:#8f0017;background-color:#fff0f2;border-color:#f2c4cb}
.alert-primary .alert-link{color:#8f0017}
.table-primary{--bs-table-bg:#fff0f2;--bs-table-striped-bg:#f2c4cb;--bs-table-striped-color:#8f0017;--bs-table-active-bg:#f2c4cb;--bs-table-active-color:#8f0017;--bs-table-hover-bg:#f2c4cb;--bs-table-hover-color:#8f0017;color:#8f0017;border-color:#f2c4cb}

.btn-secondary{color:#fff;background-color:#566371;border:1px solid #566371}
.btn-secondary:hover,.btn-secondary:focus{color:#fff;background-color:#414e5b;border-color:#414e5b;text-decoration:none}
.btn-check:checked+.btn-secondary,.btn-check:active+.btn-secondary,.btn-secondary:active,.btn-secondary.active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#414e5b;border-color:#414e5b}
.btn-secondary:disabled,.btn-secondary.disabled{color:#fff;background-color:#566371;border-color:#566371;opacity:.65}
.btn-outline-secondary{color:#566371;background-color:transparent;border:1px solid #566371}
.btn-outline-secondary:hover,.btn-check:checked+.btn-outline-secondary,.btn-check:active+.btn-outline-secondary,.btn-outline-secondary:active,.btn-outline-secondary.active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#566371;border-color:#566371}
.btn-outline-secondary:disabled,.btn-outline-secondary.disabled{color:#566371;background-color:transparent;border-color:#566371;opacity:.65}
.text-secondary,.link-secondary{color:#566371!important}
.link-secondary:hover,.link-secondary:focus{color:#414e5b!important}
.bg-secondary{background-color:#566371!important}
.border-secondary{border-color:#566371!important}
.text-bg-secondary{color:#fff!important;background-color:#566371!important}
.alert-secondary{color:#364451;background-color:#edf0f3;border-color:#cdd5dd}
.alert-secondary .alert-link{color:#364451}
.table-secondary{--bs-table-bg:#edf0f3;--bs-table-striped-bg:#cdd5dd;--bs-table-striped-color:#364451;--bs-table-active-bg:#cdd5dd;--bs-table-active-color:#364451;--bs-table-hover-bg:#cdd5dd;--bs-table-hover-color:#364451;color:#364451;border-color:#cdd5dd}

.btn-success{color:#fff;background-color:#28704f;border:1px solid #28704f}
.btn-success:hover,.btn-success:focus{color:#fff;background-color:#1d573c;border-color:#1d573c;text-decoration:none}
.btn-check:checked+.btn-success,.btn-check:active+.btn-success,.btn-success:active,.btn-success.active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1d573c;border-color:#1d573c}
.btn-success:disabled,.btn-success.disabled{color:#fff;background-color:#28704f;border-color:#28704f;opacity:.65}
.btn-outline-success{color:#28704f;background-color:transparent;border:1px solid #28704f}
.btn-outline-success:hover,.btn-check:checked+.btn-outline-success,.btn-check:active+.btn-outline-success,.btn-outline-success:active,.btn-outline-success.active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28704f;border-color:#28704f}
.btn-outline-success:disabled,.btn-outline-success.disabled{color:#28704f;background-color:transparent;border-color:#28704f;opacity:.65}
.text-success,.link-success{color:#28704f!important}
.link-success:hover,.link-success:focus{color:#1d573c!important}
.bg-success{background-color:#28704f!important}
.border-success{border-color:#28704f!important}
.text-bg-success{color:#fff!important;background-color:#28704f!important}
.alert-success{color:#20583f;background-color:#edf6f0;border-color:#bddbc9}
.alert-success .alert-link{color:#20583f}
.table-success{--bs-table-bg:#edf6f0;--bs-table-striped-bg:#bddbc9;--bs-table-striped-color:#20583f;--bs-table-active-bg:#bddbc9;--bs-table-active-color:#20583f;--bs-table-hover-bg:#bddbc9;--bs-table-hover-color:#20583f;color:#20583f;border-color:#bddbc9}

.btn-info{color:#fff;background-color:#42566c;border:1px solid #42566c}
.btn-info:hover,.btn-info:focus{color:#fff;background-color:#314254;border-color:#314254;text-decoration:none}
.btn-check:checked+.btn-info,.btn-check:active+.btn-info,.btn-info:active,.btn-info.active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#314254;border-color:#314254}
.btn-info:disabled,.btn-info.disabled{color:#fff;background-color:#42566c;border-color:#42566c;opacity:.65}
.btn-outline-info{color:#42566c;background-color:transparent;border:1px solid #42566c}
.btn-outline-info:hover,.btn-check:checked+.btn-outline-info,.btn-check:active+.btn-outline-info,.btn-outline-info:active,.btn-outline-info.active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#42566c;border-color:#42566c}
.btn-outline-info:disabled,.btn-outline-info.disabled{color:#42566c;background-color:transparent;border-color:#42566c;opacity:.65}
.text-info,.link-info{color:#42566c!important}
.link-info:hover,.link-info:focus{color:#314254!important}
.bg-info{background-color:#42566c!important}
.border-info{border-color:#42566c!important}
.text-bg-info{color:#fff!important;background-color:#42566c!important}
.alert-info{color:#34465a;background-color:#eef2f6;border-color:#c8d3df}
.alert-info .alert-link{color:#34465a}
.table-info{--bs-table-bg:#eef2f6;--bs-table-striped-bg:#c8d3df;--bs-table-striped-color:#34465a;--bs-table-active-bg:#c8d3df;--bs-table-active-color:#34465a;--bs-table-hover-bg:#c8d3df;--bs-table-hover-color:#34465a;color:#34465a;border-color:#c8d3df}

.btn-warning{color:#17212d;background-color:#f0ce82;border:1px solid #f0ce82}
.btn-warning:hover,.btn-warning:focus{color:#17212d;background-color:#dfb95e;border-color:#dfb95e;text-decoration:none}
.btn-check:checked+.btn-warning,.btn-check:active+.btn-warning,.btn-warning:active,.btn-warning.active,.show>.btn-warning.dropdown-toggle{color:#17212d;background-color:#dfb95e;border-color:#dfb95e}
.btn-warning:disabled,.btn-warning.disabled{color:#17212d;background-color:#f0ce82;border-color:#f0ce82;opacity:.65}
.btn-outline-warning{color:#755410;background-color:transparent;border:1px solid #755410}
.btn-outline-warning:hover,.btn-check:checked+.btn-outline-warning,.btn-check:active+.btn-outline-warning,.btn-outline-warning:active,.btn-outline-warning.active,.show>.btn-outline-warning.dropdown-toggle{color:#17212d;background-color:#f0ce82;border-color:#f0ce82}
.btn-outline-warning:disabled,.btn-outline-warning.disabled{color:#755410;background-color:transparent;border-color:#755410;opacity:.65}
.text-warning,.link-warning{color:#755410!important}
.link-warning:hover,.link-warning:focus{color:#dfb95e!important}
.bg-warning{background-color:#f0ce82!important}
.border-warning{border-color:#f0ce82!important}
.text-bg-warning{color:#17212d!important;background-color:#f0ce82!important}
.alert-warning{color:#755410;background-color:#fff7e5;border-color:#ead39c}
.alert-warning .alert-link{color:#755410}
.table-warning{--bs-table-bg:#fff7e5;--bs-table-striped-bg:#ead39c;--bs-table-striped-color:#755410;--bs-table-active-bg:#ead39c;--bs-table-active-color:#755410;--bs-table-hover-bg:#ead39c;--bs-table-hover-color:#755410;color:#755410;border-color:#ead39c}

.btn-danger{color:#fff;background-color:#b42335;border:1px solid #b42335}
.btn-danger:hover,.btn-danger:focus{color:#fff;background-color:#901b2a;border-color:#901b2a;text-decoration:none}
.btn-check:checked+.btn-danger,.btn-check:active+.btn-danger,.btn-danger:active,.btn-danger.active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#901b2a;border-color:#901b2a}
.btn-danger:disabled,.btn-danger.disabled{color:#fff;background-color:#b42335;border-color:#b42335;opacity:.65}
.btn-outline-danger{color:#b42335;background-color:transparent;border:1px solid #b42335}
.btn-outline-danger:hover,.btn-check:checked+.btn-outline-danger,.btn-check:active+.btn-outline-danger,.btn-outline-danger:active,.btn-outline-danger.active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#b42335;border-color:#b42335}
.btn-outline-danger:disabled,.btn-outline-danger.disabled{color:#b42335;background-color:transparent;border-color:#b42335;opacity:.65}
.text-danger,.link-danger{color:#b42335!important}
.link-danger:hover,.link-danger:focus{color:#901b2a!important}
.bg-danger{background-color:#b42335!important}
.border-danger{border-color:#b42335!important}
.text-bg-danger{color:#fff!important;background-color:#b42335!important}
.alert-danger{color:#8f1c2b;background-color:#fff0f2;border-color:#edc1c8}
.alert-danger .alert-link{color:#8f1c2b}
.table-danger{--bs-table-bg:#fff0f2;--bs-table-striped-bg:#edc1c8;--bs-table-striped-color:#8f1c2b;--bs-table-active-bg:#edc1c8;--bs-table-active-color:#8f1c2b;--bs-table-hover-bg:#edc1c8;--bs-table-hover-color:#8f1c2b;color:#8f1c2b;border-color:#edc1c8}

.btn-light{color:#17212d;background-color:#f4f6f8;border:1px solid #f4f6f8}
.btn-light:hover,.btn-light:focus{color:#17212d;background-color:#e1e6eb;border-color:#e1e6eb;text-decoration:none}
.btn-check:checked+.btn-light,.btn-check:active+.btn-light,.btn-light:active,.btn-light.active,.show>.btn-light.dropdown-toggle{color:#17212d;background-color:#e1e6eb;border-color:#e1e6eb}
.btn-light:disabled,.btn-light.disabled{color:#17212d;background-color:#f4f6f8;border-color:#f4f6f8;opacity:.65}
.btn-outline-light{color:#414e5b;background-color:transparent;border:1px solid #414e5b}
.btn-outline-light:hover,.btn-check:checked+.btn-outline-light,.btn-check:active+.btn-outline-light,.btn-outline-light:active,.btn-outline-light.active,.show>.btn-outline-light.dropdown-toggle{color:#17212d;background-color:#f4f6f8;border-color:#f4f6f8}
.btn-outline-light:disabled,.btn-outline-light.disabled{color:#414e5b;background-color:transparent;border-color:#414e5b;opacity:.65}
.text-light,.link-light{color:#414e5b!important}
.link-light:hover,.link-light:focus{color:#e1e6eb!important}
.bg-light{background-color:#f4f6f8!important}
.border-light{border-color:#f4f6f8!important}
.text-bg-light{color:#17212d!important;background-color:#f4f6f8!important}
.alert-light{color:#414e5b;background-color:#f4f6f8;border-color:#e1e6eb}
.alert-light .alert-link{color:#414e5b}
.table-light{--bs-table-bg:#f4f6f8;--bs-table-striped-bg:#e1e6eb;--bs-table-striped-color:#414e5b;--bs-table-active-bg:#e1e6eb;--bs-table-active-color:#414e5b;--bs-table-hover-bg:#e1e6eb;--bs-table-hover-color:#414e5b;color:#414e5b;border-color:#e1e6eb}

.btn-dark{color:#fff;background-color:#17212d;border:1px solid #17212d}
.btn-dark:hover,.btn-dark:focus{color:#fff;background-color:#0f1720;border-color:#0f1720;text-decoration:none}
.btn-check:checked+.btn-dark,.btn-check:active+.btn-dark,.btn-dark:active,.btn-dark.active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#0f1720;border-color:#0f1720}
.btn-dark:disabled,.btn-dark.disabled{color:#fff;background-color:#17212d;border-color:#17212d;opacity:.65}
.btn-outline-dark{color:#17212d;background-color:transparent;border:1px solid #17212d}
.btn-outline-dark:hover,.btn-check:checked+.btn-outline-dark,.btn-check:active+.btn-outline-dark,.btn-outline-dark:active,.btn-outline-dark.active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#17212d;border-color:#17212d}
.btn-outline-dark:disabled,.btn-outline-dark.disabled{color:#17212d;background-color:transparent;border-color:#17212d;opacity:.65}
.text-dark,.link-dark{color:#17212d!important}
.link-dark:hover,.link-dark:focus{color:#0f1720!important}
.bg-dark{background-color:#17212d!important}
.border-dark{border-color:#17212d!important}
.text-bg-dark{color:#fff!important;background-color:#17212d!important}
.alert-dark{color:#17212d;background-color:#e9edf1;border-color:#c6cfd8}
.alert-dark .alert-link{color:#17212d}
.table-dark{--bs-table-bg:#17212d;--bs-table-striped-bg:#243341;--bs-table-striped-color:#fff;--bs-table-active-bg:#34465a;--bs-table-active-color:#fff;--bs-table-hover-bg:#34465a;--bs-table-hover-color:#fff;color:#fff;border-color:#42566c}

/* Foco y enlaces: evita los azules fijos de Bootstrap 5.0. */
.btn:focus,.btn-check:focus+.btn,.btn:active:focus,.btn.active:focus,.btn-check:checked+.btn:focus,.btn-check:active+.btn:focus,.show>.btn.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(201,0,32,.24)}
header a:focus-visible,header button:focus-visible,footer a:focus-visible,footer button:focus-visible,.sb-wzp-widget a:focus-visible,.tec-home a:focus-visible,.tec-home button:focus-visible,#sbDialog :focus-visible{outline-color:var(--tec-primary)}
.btn-link{color:var(--tec-primary)}
.btn-link:hover,.btn-link:focus{color:var(--tec-primary-hover)}
.btn-link:disabled,.btn-link.disabled{color:var(--tec-muted)}
.form-control:focus,.form-select:focus{border-color:#d96a7c;box-shadow:0 0 0 .25rem rgba(201,0,32,.18)}
.form-check-input{accent-color:var(--tec-primary)}
.form-check-input:checked,.form-check-input[type=checkbox]:indeterminate{background-color:var(--tec-primary);border-color:var(--tec-primary)}
.form-check-input:focus{border-color:#d96a7c;box-shadow:0 0 0 .25rem rgba(201,0,32,.18)}
.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23c90020'/%3e%3c/svg%3e")}
.form-switch .form-check-input:checked{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}
.form-range::-webkit-slider-thumb{background:var(--tec-primary)}
.form-range::-moz-range-thumb{background:var(--tec-primary)}
.form-range::-webkit-slider-thumb:active{background:#e7a2ae}
.form-range::-moz-range-thumb:active{background:#e7a2ae}
.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(201,0,32,.24)}
.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(201,0,32,.24)}
.page-link{color:var(--tec-primary)}
.page-link:hover{color:var(--tec-primary-hover);background-color:var(--tec-soft);border-color:var(--tec-line)}
.page-link:focus{color:var(--tec-primary-hover);background-color:var(--tec-soft);box-shadow:0 0 0 .25rem rgba(201,0,32,.18)}
.page-item.active .page-link{color:#fff;background-color:var(--tec-primary);border-color:var(--tec-primary)}
.page-item.disabled .page-link{color:var(--tec-muted);border-color:var(--tec-line)}
.dropdown-item.active,.dropdown-item:active,.nav-pills .nav-link.active,.nav-pills .show>.nav-link,.list-group-item.active{color:#fff;background-color:var(--tec-primary);border-color:var(--tec-primary)}
.nav-tabs .nav-link.active{color:var(--tec-ink);border-color:var(--tec-line) var(--tec-line) #fff}
.accordion-button:not(.collapsed){color:#8f0017;background-color:#fff0f2;box-shadow:inset 0 -1px 0 var(--tec-line)}
.accordion-button:focus{border-color:#d96a7c;box-shadow:0 0 0 .25rem rgba(201,0,32,.18)}
.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c90020'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}
.progress-bar{background-color:var(--tec-primary)}
.input-group-text{color:var(--tec-muted);background-color:var(--tec-soft);border-color:var(--tec-line)}
/* Los enlaces claros sobre el footer oscuro conservan su contraste. */
.link-light,.text-light{color:var(--tec-soft)!important}
.link-light:hover,.link-light:focus{color:#fff!important}
.btn-outline-light{color:var(--tec-soft);border-color:var(--tec-soft)}
.btn-outline-light:hover,.btn-check:checked+.btn-outline-light,.btn-outline-light:active,.btn-outline-light.active{color:var(--tec-ink);background-color:var(--tec-soft);border-color:var(--tec-soft)}

.link-warning:hover,.link-warning:focus{color:#755410!important}
.btn-outline-light:disabled,.btn-outline-light.disabled{color:var(--tec-soft);background-color:transparent;border-color:var(--tec-soft)}
.was-validated .form-control:valid,.form-control.is-valid,.was-validated .form-select:valid,.form-select.is-valid{border-color:#28704f}
.was-validated .form-control:valid:focus,.form-control.is-valid:focus,.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#28704f;box-shadow:0 0 0 .25rem rgba(40,112,79,.2)}
.was-validated .form-control:invalid,.form-control.is-invalid,.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#b42335}
.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus,.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#b42335;box-shadow:0 0 0 .25rem rgba(180,35,53,.2)}
.valid-feedback,.valid-tooltip{color:#28704f}
.invalid-feedback,.invalid-tooltip{color:#b42335}
.valid-tooltip{color:#fff;background-color:#28704f}
.invalid-tooltip{color:#fff;background-color:#b42335}
.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#28704f}
.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#28704f}
.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#b42335}
.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#28704f}
.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#b42335}
