*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: "Microsoft YaHei", PingFang SC, sans-serif;
}
body{
    background-color: #f7f9fc;
    color: #333;
    line-height: 1.6;
}
/* 全局居中容器，所有页面统一使用 */
.container{
    width: 94%;
    max-width: 1200px;
    margin: 0 auto;
}
/* 头部导航 */
header{
    background-color: #165DFF;
    color: #fff;
    padding: 16px 0;
    box-shadow: 0 2px 8px rgba(22, 93, 255, 0.15);
}
header .container{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
header a{
    color: #fff;
    text-decoration: none;
    margin: 0 10px;
}
header a:hover{
    text-decoration: underline;
}
/* 卡片通用样式 */
.card{
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid #e8edf6;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    padding: 24px;
    margin: 20px auto;
    transition: all 0.25s ease;
}
.card:hover{
    box-shadow: 0 6px 20px rgba(22, 93, 255, 0.08);
}
/* 登录盒子居中专用 */
.login-box{
    width: 94%;
    max-width: 420px;
    margin: 80px auto;
    background: #fff;
    padding: 36px;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(22, 93, 255, 0.1);
}
/* 按钮统一美化 */
.btn{
    padding: 9px 18px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    font-size: 15px;
    transition: 0.2s;
}
.btn-primary{
    background: #165DFF;
    color: #fff;
}
.btn-primary:hover{
    background: #0e4bdd;
}
.btn-success{
    background: #00b42a;
    color: #fff;
}
.btn-success:hover{
    background: #009c24;
}
.btn-warning{
    background: #ff7d00;
    color: #fff;
}
.btn-danger{
    background: #f53f3f;
    color: #fff;
}
.btn-sm{
    padding: 4px 10px;
    font-size: 13px;
}
/* 表单控件 */
.form-control{
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #d0d8e6;
    border-radius: 6px;
    font-size: 15px;
    margin-top: 6px;
}
.form-control:focus{
    outline: none;
    border-color: #165DFF;
    box-shadow: 0 0 0 3px rgba(22, 93, 255, 0.12);
}
/* 表格居中美化 */
.table{
    width: 100%;
    border-collapse: collapse;
    margin: 16px auto;
}
.table th,.table td{
    padding: 12px 10px;
    border: 1px solid #e8edf6;
    text-align: center;
}
.table th{
    background-color: #f2f7ff;
    color: #165DFF;
}
.table tr:hover{
    background-color: #f8fbff;
}
/* 提示弹窗 */
.alert{
    padding: 12px 16px;
    border-radius: 6px;
    margin-bottom: 16px;
}
.alert-info{
    background: #e8f3ff;
    color: #165DFF;
    border: 1px solid #c5e0ff;
}
.alert-danger{
    background: #fff2f0;
    color: #f53f3f;
    border: 1px solid #ffccc7;
}
/* 底部版权 */
footer{
    margin-top: 60px;
    padding: 20px 0;
    border-top: 1px solid #e8edf6;
    text-align: center;
    color: #666;
    font-size: 14px;
}
/* 栅格居中布局 */
.row{
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    justify-content: center;
    margin: 20px 0;
}
.col-md-4{
    flex: 1;
    min-width: 260px;
}
/* 文字颜色 */
.text-primary{color: #165DFF;}
.text-success{color: #00b42a;}
.text-danger{color: #f53f3f;}
.text-center{text-align: center;}
.mt-4{margin-top: 24px;}
.mb-3{margin-bottom: 16px;}
.w-100{width: 100%;}
.d-inline{display: inline-block;}
.d-flex{display: flex;}
.justify-content-between{justify-content: space-between;}
.align-items-center{align-items: center;}
.me-3{margin-right: 12px;}
.ms-3{margin-left: 12px;}

/* 全局LOGO自适应修复，解决图片溢出卡片 */
.logo-box img, header img, .login-box img {
    max-width: 100%;
    height: auto !important;
    object-fit: contain;
}
.login-box img {
    max-height: 90px;
}
header img {
    max-height: 42px;
}