/* BizCenter local Bootstrap-compatible subset.
 * This project ships a lightweight Bootstrap 5 style subset locally so pages can
 * use Bootstrap class names without CDN/network dependency. Keep page-specific
 * colors and spacing in /assets/css/bizcenter-app.css and /assets/css/app/*.css.
 */
@charset "UTF-8";

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; min-height: 100vh; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
img, svg { max-width: 100%; vertical-align: middle; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
hr { border: 0; border-top: 1px solid rgba(0, 0, 0, .12); }

.container-fluid { width: 100%; padding-right: .75rem; padding-left: .75rem; margin-right: auto; margin-left: auto; }
.row { --bs-gutter-x: 1.5rem; --bs-gutter-y: 0; display: flex; flex-wrap: wrap; margin-top: calc(-1 * var(--bs-gutter-y)); margin-right: calc(-.5 * var(--bs-gutter-x)); margin-left: calc(-.5 * var(--bs-gutter-x)); }
.row > * { box-sizing: border-box; flex-shrink: 0; width: 100%; max-width: 100%; padding-right: calc(var(--bs-gutter-x) * .5); padding-left: calc(var(--bs-gutter-x) * .5); margin-top: var(--bs-gutter-y); }
.col { flex: 1 0 0%; }
.col-3 { flex: 0 0 auto; width: 25%; }
.col-12 { flex: 0 0 auto; width: 100%; }
.row-cols-2 > * { flex: 0 0 auto; width: 50%; }
.row-cols-5 > * { flex: 0 0 auto; width: 20%; }
.g-0 { --bs-gutter-x: 0; --bs-gutter-y: 0; }
.g-3 { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
.g-4 { --bs-gutter-x: 1.5rem; --bs-gutter-y: 1.5rem; }
@media (min-width: 768px) { .col-md-9 { flex: 0 0 auto; width: 75%; } .row-cols-md-3 > * { flex: 0 0 auto; width: 33.333333%; } }
@media (min-width: 992px) { .row-cols-lg-4 > * { flex: 0 0 auto; width: 25%; } }
@media (min-width: 1200px) { .col-xl-4 { flex: 0 0 auto; width: 33.333333%; } .col-xl-8 { flex: 0 0 auto; width: 66.666667%; } }

.d-flex { display: flex !important; }
.flex-column { flex-direction: column !important; }
.flex-wrap { flex-wrap: wrap !important; }
.flex-grow-1 { flex-grow: 1 !important; }
.align-items-center { align-items: center !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-around { justify-content: space-around !important; }
.justify-content-end { justify-content: flex-end !important; }
.gap-2 { gap: .5rem !important; }
.gap-3 { gap: 1rem !important; }
.ms-auto { margin-left: auto !important; }
.ms-3 { margin-left: 1rem !important; }
.me-3 { margin-right: 1rem !important; }
.mt-1 { margin-top: .25rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mt-auto { margin-top: auto !important; }
.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; }
.mb-auto { margin-bottom: auto !important; }
.my-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; }
.p-0 { padding: 0 !important; }
.p-2 { padding: .5rem !important; }
.p-3 { padding: 1rem !important; }
.p-4 { padding: 1.5rem !important; }
.pt-3 { padding-top: 1rem !important; }
.px-2 { padding-right: .5rem !important; padding-left: .5rem !important; }
.px-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
.px-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; }
.py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
@media (min-width: 768px) { .p-md-5 { padding: 3rem !important; } }

.position-relative { position: relative !important; }
.position-absolute { position: absolute !important; }
.fixed-bottom { position: fixed; right: 0; bottom: 0; left: 0; z-index: 1030; }
.sticky-top { position: sticky; top: 0; z-index: 1020; }
.overflow-x-auto { overflow-x: auto !important; }
.text-center { text-align: center !important; }
.text-nowrap { white-space: nowrap !important; }
.text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text-decoration-none { text-decoration: none !important; }
.text-primary { color: #2563eb !important; }
.text-secondary { color: #6c757d !important; }
.text-success { color: #198754 !important; }
.text-warning { color: #d97706 !important; }
.text-info { color: #0dcaf0 !important; }
.text-danger { color: #dc3545 !important; }
.text-dark { color: #212529 !important; }
.text-muted { color: #6c757d !important; }
.text-white { color: #fff !important; }
.bg-white { background-color: #fff !important; }
.bg-light { background-color: #f8f9fa !important; }
.bg-dark { background-color: #212529 !important; }
.bg-primary { background-color: #2563eb !important; }
.bg-primary-subtle { background-color: #dbeafe !important; }
.bg-success-subtle { background-color: #dcfce7 !important; }
.bg-warning-subtle { background-color: #fef3c7 !important; }
.bg-info-subtle { background-color: #cffafe !important; }
.bg-opacity-25 { --bs-bg-opacity: .25; }
.opacity-75 { opacity: .75 !important; }
.border { border: 1px solid #dee2e6 !important; }
.border-0 { border: 0 !important; }
.border-top { border-top: 1px solid #dee2e6 !important; }
.border-bottom { border-bottom: 1px solid #dee2e6 !important; }
.rounded-3 { border-radius: .5rem !important; }
.rounded-4 { border-radius: 1rem !important; }
.rounded-circle { border-radius: 50% !important; }
.rounded-pill { border-radius: 999rem !important; }
.shadow-none { box-shadow: none !important; }
.shadow-sm { box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important; }
.shadow-lg { box-shadow: 0 1rem 3rem rgba(0,0,0,.175) !important; }
.w-100 { width: 100% !important; }
.h-100 { height: 100% !important; }
.small, small { font-size: .875em; }
.text-sm { font-size: .875rem; }
.fs-1 { font-size: 2.5rem !important; }
.fs-3 { font-size: 1.75rem !important; }
.fs-4 { font-size: 1.5rem !important; }
.fs-5 { font-size: 1.25rem !important; }
.fw-bold, .font-weight-bold { font-weight:600 !important; }
.fw-black { font-weight:700 !important; }
.display-6 { font-size: clamp(2rem, 4vw, 2.5rem); font-weight: 300; line-height: 1.2; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; border: 1px solid transparent; border-radius: .375rem; padding: .375rem .75rem; background: transparent; color: inherit; line-height: 1.5; text-align: center; text-decoration: none; user-select: none; transition: background-color .15s, color .15s, border-color .15s, box-shadow .15s; }
.btn-sm { padding: .25rem .5rem; font-size: .875rem; }
.btn-light { color: #111827; background-color: #f8f9fa; border-color: #f8f9fa; }
.btn-dark { color: #fff; background-color: #212529; border-color: #212529; }
.btn-white { color: #111827; background-color: #fff; border-color: #fff; }
.btn-outline-light { color: #fff; border-color: rgba(255,255,255,.8); }
.btn-outline-light:hover { color: #111827; background: #fff; }
.btn-close { width: 1em; height: 1em; padding: .25em; border: 0; background: transparent; position: relative; opacity: .7; }
.btn-close::before, .btn-close::after { content: ""; position: absolute; left: 50%; top: 50%; width: 1.1em; height: 2px; background: currentColor; transform-origin: center; }
.btn-close::before { transform: translate(-50%, -50%) rotate(45deg); }
.btn-close::after { transform: translate(-50%, -50%) rotate(-45deg); }

.nav { display: flex; flex-wrap: wrap; padding-left: 0; margin-bottom: 0; list-style: none; }
.nav-link { display: block; padding: .5rem 1rem; color: inherit; text-decoration: none; }
.nav-tabs { border-bottom: 1px solid #dee2e6; }
.nav-tabs .nav-link { margin-bottom: -1px; background: none; border: 1px solid transparent; }
.nav-underline .nav-link { border-bottom: .125rem solid transparent; }
.nav-underline .nav-link.active { border-bottom-color: currentColor; }
.navbar { position: relative; display: flex; flex-wrap: wrap; align-items: center; padding: .5rem 0; }
.navbar-brand { padding-top: .3125rem; padding-bottom: .3125rem; margin-right: 1rem; font-size: 1.25rem; text-decoration: none; white-space: nowrap; }
.navbar-toggler { padding: .25rem .75rem; background-color: transparent; border: 1px solid rgba(0,0,0,.15); border-radius: .375rem; }
.navbar-toggler-icon { display: inline-block; width: 1.5em; height: 1.5em; vertical-align: middle; background-image: linear-gradient(currentColor,currentColor), linear-gradient(currentColor,currentColor), linear-gradient(currentColor,currentColor); background-size: 100% 2px, 100% 2px, 100% 2px; background-repeat: no-repeat; background-position: center 25%, center, center 75%; }

.card { position: relative; display: flex; flex-direction: column; min-width: 0; color: inherit; background-color: #fff; border: 1px solid rgba(0,0,0,.125); border-radius: .375rem; }
.alert { position: relative; padding: 1rem; border-radius: .375rem; }
.badge { display: inline-block; padding: .35em .65em; font-size: .75em; font-weight:600; line-height: 1; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .375rem; }
.list-group { display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; border-radius: .375rem; }
.list-group-flush { border-radius: 0; }
.list-group-item { position: relative; display: block; padding: .5rem 1rem; color: #212529; background-color: #fff; border: 1px solid rgba(0,0,0,.125); }
.list-group-flush > .list-group-item { border-width: 0 0 1px; }
.list-group-item-action { width: 100%; color: #495057; text-align: inherit; }
.progress { display: flex; height: 1rem; overflow: hidden; background-color: #e9ecef; border-radius: .375rem; }
.progress-bar { display: flex; flex-direction: column; justify-content: center; overflow: hidden; color: #fff; text-align: center; white-space: nowrap; background-color: #2563eb; transition: width .6s ease; }
.progress-bar-striped { background-image: linear-gradient(45deg, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); background-size: 1rem 1rem; }
.progress-bar-animated { animation: progress-bar-stripes 1s linear infinite; }
@keyframes progress-bar-stripes { from { background-position-x: 1rem; } to { background-position-x: 0; } }

.offcanvas { position: fixed; bottom: 0; z-index: 1045; display: flex; flex-direction: column; max-width: 100%; color: #212529; visibility: hidden; background-color: #fff; background-clip: padding-box; outline: 0; transition: transform .3s ease-in-out, visibility .3s ease-in-out; }
.offcanvas.show { visibility: visible; transform: none; }
.offcanvas-start { top: 0; left: 0; width: 400px; border-right: 1px solid rgba(0,0,0,.2); transform: translateX(-100%); }
.offcanvas-end { top: 0; right: 0; width: 400px; border-left: 1px solid rgba(0,0,0,.2); transform: translateX(100%); }
.offcanvas-header { display: flex; align-items: center; justify-content: space-between; padding: 1rem; }
.offcanvas-title { margin-bottom: 0; line-height: 1.5; }
.offcanvas-body { flex-grow: 1; padding: 1rem; overflow-y: auto; }
.template-backdrop { position: fixed; inset: 0; z-index: 1040; background: rgba(0,0,0,.35); }


.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto;}
@media (min-width:576px){.container-sm,.container{max-width:540px;}}
@media (min-width:768px){.container-md,.container-sm,.container{max-width:720px;}.col-md-6{flex:0 0 auto;width:50%;}.col-md-4{flex:0 0 auto;width:33.333333%;}.col-md-8{flex:0 0 auto;width:66.666667%;}}
@media (min-width:992px){.container-lg,.container-md,.container-sm,.container{max-width:960px;}.col-lg-3{flex:0 0 auto;width:25%;}.col-lg-4{flex:0 0 auto;width:33.333333%;}.col-lg-6{flex:0 0 auto;width:50%;}.col-lg-8{flex:0 0 auto;width:66.666667%;}.col-lg-9{flex:0 0 auto;width:75%;}}
@media (min-width:1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px;}.col-xl-3{flex:0 0 auto;width:25%;}.col-xl-5{flex:0 0 auto;width:41.666667%;}.col-xl-6{flex:0 0 auto;width:50%;}.col-xl-7{flex:0 0 auto;width:58.333333%;}}
@media (min-width:1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px;}}
.d-grid{display:grid!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline-flex{display:inline-flex!important}.d-lg-none{display:block!important}@media(min-width:992px){.d-lg-none{display:none!important}.d-lg-block{display:block!important}.d-lg-flex{display:flex!important}.d-lg-grid{display:grid!important}}
.justify-content-center{justify-content:center!important}.align-items-start{align-items:flex-start!important}.align-items-stretch{align-items:stretch!important}.gap-1{gap:.25rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.mt-0{margin-top:0!important}.mt-2{margin-top:.5rem!important}.mt-5{margin-top:3rem!important}.me-auto{margin-right:auto!important}.m-0{margin:0!important}.pb-5{padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-4{padding-top:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}
.form-label{display:inline-block;margin-bottom:.5rem;font-weight:600}.form-control,.form-select{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s,box-shadow .15s}.form-control:focus,.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check-input{float:left;margin-left:-1.5em;width:1em;height:1em;margin-top:.25em}.form-check-label{cursor:pointer}
.card-body{flex:1 1 auto;padding:1rem}.card-title{margin-bottom:.5rem}.card-text:last-child{margin-bottom:0}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}
.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary{color:#6c757d;border-color:#6c757d;background:transparent}.btn-outline-secondary:hover{color:#fff;background:#6c757d}.btn-outline-dark{color:#212529;border-color:#212529;background:transparent}.btn-outline-dark:hover{color:#fff;background:#212529}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline;background:transparent;border-color:transparent}
.alert-info{color:#055160;background-color:#cff4fc;border:1px solid #b6effb}.alert-success{color:#0f5132;background-color:#d1e7dd;border:1px solid #badbcc}.alert-warning{color:#664d03;background-color:#fff3cd;border:1px solid #ffecb5}.alert-danger{color:#842029;background-color:#f8d7da;border:1px solid #f5c2c7}
.modal-backdrop,.offcanvas-backdrop{position:fixed;inset:0;z-index:1040;background:rgba(0,0,0,.5)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
