/* Base local del portal. Reemplaza las utilidades usadas de Bootstrap cuando un
   cliente no puede acceder a CDNs externos. */
*,::before,::after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.5;color:#212529;background:#fff}a{color:#0d6efd}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.container,.container-fluid{width:100%;margin:0 auto;padding-right:12px;padding-left:12px}.container{max-width:1140px}.row{display:flex;flex-wrap:wrap;margin-right:-12px;margin-left:-12px}.row>*{width:100%;max-width:100%;padding-right:12px;padding-left:12px}.col-12{width:100%}.d-flex{display:flex!important}.d-grid{display:grid!important}.d-none{display:none!important}.d-block{display:block!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-grow-1{flex-grow:1!important}.justify-content-between{justify-content:space-between!important}.justify-content-center{justify-content:center!important}.justify-content-end{justify-content:flex-end!important}.align-items-center{align-items:center!important}.align-items-end{align-items:flex-end!important}.text-center{text-align:center!important}.text-start{text-align:left!important}.text-muted{color:#6c757d!important}.text-dark{color:#212529!important}.text-warning{color:#ffc107!important}.bg-light{background:#f8f9fa!important}.bg-dark{background:#212529!important}.fw-bold,.fw-semibold{font-weight:700!important}.fs-4{font-size:1.5rem!important}.fs-5{font-size:1.25rem!important}.small{font-size:.875em}.w-100{width:100%!important}.h-100{height:100%!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.border-0{border:0!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.rounded-pill{border-radius:50rem!important}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap}.btn{display:inline-block;padding:.375rem .75rem;border:1px solid transparent;border-radius:.375rem;background:#fff;color:#212529;cursor:pointer;text-align:center;text-decoration:none;line-height:1.5}.btn:hover{filter:brightness(.96)}.btn-primary{background:#0d6efd;border-color:#0d6efd;color:#fff}.btn-secondary{background:#6c757d;border-color:#6c757d;color:#fff}.btn-dark{background:#212529;border-color:#212529;color:#fff}.btn-warning{background:#ffc107;border-color:#ffc107;color:#212529}.btn-outline-primary{border-color:#0d6efd;color:#0d6efd}.btn-outline-secondary{border-color:#6c757d;color:#6c757d}.btn-outline-warning{border-color:#ffc107;color:#996f00}.btn-outline-danger{border-color:#dc3545;color:#dc3545}.btn-sm{padding:.25rem .5rem;font-size:.875rem}.btn-lg{padding:.5rem 1rem;font-size:1.25rem}.form-control{display:block;width:100%;padding:.375rem .75rem;border:1px solid #ced4da;border-radius:.375rem;background:#fff;color:#212529}.form-label{display:inline-block;margin-bottom:.5rem}.card{background:#fff;border:1px solid rgba(0,0,0,.175);border-radius:.375rem}.card-header,.card-body,.card-footer{padding:1rem}.card-header{border-bottom:1px solid rgba(0,0,0,.175);font-weight:600}.card-footer{border-top:1px solid rgba(0,0,0,.175)}.alert{padding:1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.375rem}.alert-warning{color:#664d03;background:#fff3cd;border-color:#ffecb5}.alert-secondary{color:#41464b;background:#e2e3e5;border-color:#d3d6d8}.alert-info{color:#055160;background:#cff4fc;border-color:#b6effb}.navbar{display:flex;align-items:center;padding:.5rem 0}.navbar-dark .navbar-brand,.navbar-dark .nav-link{color:#fff}.navbar-brand{font-size:1.25rem;text-decoration:none}.navbar-nav{display:flex;gap:.3rem;margin:0;padding:0;list-style:none}.nav-link{display:block;padding:.5rem;text-decoration:none}.dropdown-menu{display:none;position:absolute;z-index:10;min-width:10rem;padding:.5rem 0;background:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.375rem;list-style:none}.dropdown-menu.show{display:block}.dropdown-item{display:block;padding:.35rem 1rem;color:#212529;text-decoration:none}.offcanvas{display:none;position:fixed;inset:0 auto 0 0;z-index:1050;width:min(340px,85vw);padding:1rem;background:#fff;box-shadow:0 0 1rem rgba(0,0,0,.25);overflow-y:auto}.offcanvas.show{display:block}.offcanvas-header{display:flex;align-items:center;justify-content:space-between}.btn-close{width:1.5rem;height:1.5rem;border:0;background:transparent;cursor:pointer}.btn-close:after{content:'×';font-size:1.5rem}.list-unstyled{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:0}.list-group-item{display:block;padding:.75rem 1rem;border:1px solid rgba(0,0,0,.125);list-style:none}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.5rem;border-bottom:1px solid #dee2e6}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mt-2{margin-top:.5rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-3{padding:1rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.g-2{gap:.5rem}.g-3{gap:1rem}.g-4{gap:1.5rem}.g-5{gap:3rem}
@media (min-width:576px){.col-sm-2{width:16.666667%}.col-sm-3{width:25%}.col-sm-7{width:58.333333%}.row-cols-sm-2>*{width:50%}}
@media (min-width:768px){.col-md-3{width:25%}.col-md-4{width:33.333333%}.col-md-5{width:41.666667%}.col-md-6{width:50%}.col-md-7{width:58.333333%}.col-md-8{width:66.666667%}.row-cols-md-3>*{width:33.333333%}.mb-md-0{margin-bottom:0!important}}
@media (min-width:992px){.col-lg-4{width:33.333333%}.col-lg-6{width:50%}.col-lg-7{width:58.333333%}.col-lg-8{width:66.666667%}.d-lg-none{display:none!important}.d-lg-block{display:block!important}.row-cols-lg-4>*{width:25%}}
@media (max-width:991.98px){.d-lg-block{display:none!important}.d-lg-none{display:inline-flex!important}}
.text-decoration-line-through{text-decoration:line-through!important}
