/* 简化版Bootstrap样式 - 解决CDN访问问题 */
.container{max-width:1140px;margin:0 auto;padding:0 15px}
.container-fluid{width:100%;padding:0 15px}
.row{display:flex;flex-wrap:wrap;margin:0 -15px}
.col-md-6{flex:0 0 50%;max-width:50%;padding:0 15px}
.card{position:relative;display:flex;flex-direction:column;min-width:0;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}
.card-body{flex:1 1 auto;padding:1.25rem}
.card-title{margin-bottom:.75rem;font-size:1.25rem;font-weight:500}
.card-text{margin-bottom:1rem}
.btn{display:inline-block;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;text-decoration:none}
.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}
.btn-primary:hover{background-color:#0b5ed7;border-color:#0a58ca}
.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}
.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}
.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;font-weight:bold}
.navbar-nav{display:flex;flex-direction:row;padding-left:0;margin-bottom:0;list-style:none}
.navbar-text{padding-top:.5rem;padding-bottom:.5rem}
.mb-4{margin-bottom:1.5rem!important}
.mb-3{margin-bottom:1rem!important}
.me-2{margin-right:.5rem!important}
.me-1{margin-right:.25rem!important}
.ms-auto{margin-left:auto!important}
.text-center{text-align:center!important}
.text-muted{color:#6c757d!important}
.text-primary{color:#0d6efd!important}
.h-100{height:100%!important}
.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}
.py-3{padding-top:1rem!important;padding-bottom:1rem!important}
.py-5{padding-top:3rem!important;padding-bottom:3rem!important}
.mt-5{margin-top:3rem!important}
.bg-light{background-color:#f8f9fa!important}
.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}
.form-label{margin-bottom:.5rem;font-weight:500}
.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}
.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}
@keyframes spinner-border{to{transform:rotate(360deg)}}
.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}
.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}
.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}
.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeaa7}
.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}
.fade-in{animation:fadeIn 0.5s ease-in}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}