/* Critical Bootstrap CSS - Extracted Essential Styles */
/* This contains only the most critical Bootstrap components needed for initial render */

/* Container and Grid System - Critical for Layout */
.container,.container-fluid{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{max-width:540px}}
@media (min-width:768px){.container{max-width:720px}}
@media (min-width:992px){.container{max-width:960px}}
@media (min-width:1200px){.container{max-width:1140px}}
@media (min-width:1400px){.container{max-width:1320px}}

/* Row and Columns */
.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>*{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%}

/* Common Column Sizes */
.col-12{flex:0 0 auto;width:100%}
.col-md-6{flex:0 0 auto;width:50%}
.col-lg-4{flex:0 0 auto;width:33.33333333%}
.col-xl-3{flex:0 0 auto;width:25%}

/* Display Utilities - Critical */
.d-none{display:none!important}
.d-flex{display:flex!important}
@media (min-width:768px){.d-md-flex{display:flex!important}.d-md-none{display:none!important}}
@media (min-width:992px){.d-lg-flex{display:flex!important}.d-lg-none{display:none!important}}
@media (min-width:1200px){.d-xl-flex{display:flex!important}.d-xl-none{display:none!important}}

/* Navbar - Critical for Header */
.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}
.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}
.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}
.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}
.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}

/* Buttons - Critical */
.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}

/* Spacing Utilities - Most Used */
.m-0{margin:0!important}
.mb-2{margin-bottom:.5rem!important}
.mb-3{margin-bottom:1rem!important}
.mb-4{margin-bottom:1.5rem!important}
.mt-4{margin-top:1.5rem!important}
.p-0{padding:0!important}
.p-3{padding:1rem!important}
.p-4{padding:1.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-2{padding-top:.5rem!important;padding-bottom:.5rem!important}
.py-3{padding-top:1rem!important;padding-bottom:1rem!important}

/* Text Utilities */
.text-center{text-align:center!important}
.text-primary{color:#0d6efd!important}
.text-white{color:#fff!important}
.text-dark{color:#212529!important}

/* Width/Height */
.w-100{width:100%!important}
.h-100{height:100%!important}

/* Position */
.position-fixed{position:fixed!important}
.position-relative{position:relative!important}

/* Flex Utilities */
.flex-wrap{flex-wrap:wrap!important}
.align-items-center{align-items:center!important}
.justify-content-center{justify-content:center!important}

/* Modal - Critical for Spinners */
.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}
.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}
@keyframes spinner-border{to{transform:rotate(360deg)}}

/* Collapse */
.collapse:not(.show){display:none}

/* Images */
.img-fluid{max-width:100%;height:auto}
.rounded{border-radius:.25rem!important}
