/* 轻量化Bootstrap样式 - 仅包含必要组件 */

/* 重置样式 */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff}

/* 容器 */
.container{width:100%;padding-right:15px;padding-left:15px;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}}

/* 网格系统 */
.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}
.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{position:relative;width:100%;padding-right:15px;padding-left:15px}
.col{flex-basis:0;flex-grow:1;max-width:100%}
.col-12{flex:0 0 100%;max-width:100%}
.col-6{flex:0 0 50%;max-width:50%}
.col-4{flex:0 0 33.333333%;max-width:33.333333%}
.col-3{flex:0 0 25%;max-width:25%}
@media (min-width:768px){
.col-md-3{flex:0 0 25%;max-width:25%}
.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}
.col-md-6{flex:0 0 50%;max-width:50%}
.col-md-12{flex:0 0 100%;max-width:100%}
}
@media (min-width:992px){
.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}
.col-lg-6{flex:0 0 50%;max-width:50%}
}

/* 卡片 */
.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}
.card-body{flex:1 1 auto;padding:1.25rem}
.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125);border-top-left-radius:.25rem;border-top-right-radius:.25rem}

/* 按钮 */
.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}
.btn:hover{color:#212529;text-decoration:none}
.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}
.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}
.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}
.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}
.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}
.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}
.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}
.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}
.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}
.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}
.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}
.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}
.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}
.w-100{width:100%!important}

/* 表单 */
.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}
.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:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}

/* 导航栏 */
.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}
.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap;text-decoration:none}
.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}
.navbar-nav .nav-link{padding-right:0;padding-left:0}
.nav-link{display:block;padding:.5rem 1rem;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}
.navbar-dark .navbar-brand{color:#fff}
.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}
.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}
.bg-primary{background-color:#007bff!important}

/* 警告框 */
.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}
.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}
.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeaa7}
.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}
.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}

/* 徽章 */
.badge{display:inline-block;padding:.25em .4em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}
.bg-success{background-color:#28a745!important}
.bg-primary{background-color:#007bff!important}
.bg-danger{background-color:#dc3545!important}
.bg-warning{background-color:#ffc107!important}
.bg-info{background-color:#17a2b8!important}
.bg-secondary{background-color:#6c757d!important}

/* 表格 */
.table{width:100%;margin-bottom:1rem;color:#212529;border-collapse:collapse}
.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}
.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}
.table-sm th,.table-sm td{padding:.3rem}

/* 工具类 */
.text-center{text-align:center!important}
.text-muted{color:#6c757d!important}
.text-primary{color:#007bff!important}
.text-success{color:#28a745!important}
.text-danger{color:#dc3545!important}
.text-warning{color:#ffc107!important}
.text-info{color:#17a2b8!important}
.text-white{color:#fff!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}
.mt-1{margin-top:.25rem!important}
.mt-2{margin-top:.5rem!important}
.mt-3{margin-top:1rem!important}
.mt-4{margin-top:1.5rem!important}
.mt-5{margin-top:3rem!important}
.p-2{padding:.5rem!important}
.p-3{padding:1rem!important}
.d-flex{display:flex!important}
.d-grid{display:grid!important}
.justify-content-center{justify-content:center!important}
.justify-content-between{justify-content:space-between!important}
.align-items-center{align-items:center!important}
.flex-grow-1{flex-grow:1!important}
.border{border:1px solid #dee2e6!important}
.rounded{border-radius:.25rem!important}
.bg-light{background-color:#f8f9fa!important}
.bg-dark{background-color:#343a40!important}

/* 响应式 */
@media (max-width:767.98px){
.navbar-nav{flex-direction:row}
.navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}
}