* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family:"Microsoft Yahei",sans-serif;
}
body {
    background-color: #f5f7fa;
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    color:#333;
}
.main-container {
    flex: 1;
}

/* ========== 全站统一顶部导航栏（所有页面共用，和首页完全一致） ========== */
.top-nav {
    background-color: #ffffff;
    border-bottom: 2px solid #1f4e99;
}
.nav-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding:0 20px;
}
.nav-left {
    display: flex;
    align-items: center;
}
.nav-logo {
    font-size:22px;
    font-weight:bold;
    color:#1f4e99;
    padding:14px 16px 14px 0;
}
.nav-links{
    display:flex;
}
.nav-links a{
    display:block;
    padding:14px 20px;
    text-decoration:none;
    color:#333;
}
.nav-links a.active{
    background:#1f4e99;
    color:#fff;
}
.nav-links a:hover{
    background:#2b60bb;
    color:#ffffff;
}
.nav-right{
    display:flex;
    align-items:center;
    gap:12px;
}
.nav-right a{
    text-decoration:none;
    color:#1f4e99;
}
.nav-right button{
    border:1px solid #1f4e99;
    background:#fff;
    color:#1f4e99;
    padding:4px 10px;
    cursor:pointer;
    border-radius:3px;
}

/* ========== 通用页面布局类 ========== */
.wrap{
    max-width:1200px;
    margin:30px auto;
    padding:0 20px;
}
.block{
    margin-bottom:36px;
}
.block-title{
    font-size:18px;
    font-weight:bold;
    border-left:4px solid #1f4e99;
    padding:6px 12px;
    margin-bottom:16px;
}
.panel{
    background:#fff;
    border:1px solid #dde2ec;
    border-radius:4px;
    padding:14px 18px;
}

/* 列表 */
.item{
    padding:12px 0;
    border-bottom:1px solid #eee;
}
.item:last-child{
    border-bottom:none;
}
.item a{
    color:#1f4e99;
    text-decoration:none;
}
.item a:hover{
    text-decoration:underline;
}

/* 按钮 */
.btn{
    display:inline-block;
    padding:6px 14px;
    background:#1f4e99;
    color:#fff;
    border:none;
    border-radius:3px;
    cursor:pointer;
    margin:2px;
    text-decoration:none;
}
.btn-gray{
    background:#888;
}
.btn:hover{
    background:#2b60bb;
}

/* 文件上传：隐藏原生整行可点的 input，只留“选择文件”小按钮触发 */
.file-upload{
    display:flex;
    align-items:center;
    gap:10px;
}
.file-upload input[type="file"]{
    display:none;
}
.file-upload .file-name{
    color:#888;
    font-size:13px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:60%;
}

/* 表单 */
input,textarea,select{
    width:100%;
    padding:9px;
    border:1px solid #ccc;
    border-radius:4px;
    margin:8px 0;
}
.row{
    display:flex;
    gap:20px;
    margin:10px 0;
}
.col{
    flex:1;
}

/* 提示消息 */
.msg{
    padding:10px;
    margin:10px 0;
    border-radius:4px;
}
.success{
    background:#e8f5e9;
    color:#2e7d32;
}
.error{
    background:#ffebee;
    color:#c62828;
}

/* 表格 */
table{
    width:100%;
    border-collapse:collapse;
    margin:12px 0;
}
th,td{
    border:1px solid #ddd;
    padding:10px;
    text-align:left;
}
th{
    background:#f0f3f8;
}

.empty-tip{
    text-align:center;
    padding:30px 0;
    color:#999;
}

/* ========== 首页专属模块（保留不动） ========== */
.entry-row{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:20px;
}
.entry-card{
    background:#fff;
    border:1px solid #dde2ec;
    border-radius:4px;
}
.entry-card-header{
    padding:12px 16px;
    background:#f0f3f8;
    font-weight:bold;
    border-bottom:1px solid #dde2ec;
}
.entry-card-body{
    padding:16px;
}
.entry-card-body .btn{
    display:inline-block;
    margin-top:12px;
    padding:6px 14px;
    background:#1f4e99;
    color:#fff;
    text-decoration:none;
    border-radius:3px;
}
.announce-panel{
    background:#fff;
    border:1px solid #dde2ec;
    border-radius:4px;
    padding:14px 18px;
}
.announce-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:11px 0;
    border-bottom:1px solid #eee;
}
.announce-item:last-child{
    border-bottom:none;
}
.announce-item a{
    color:#1f4e99;
    text-decoration:none;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    max-width:84%;
}
.announce-item a:hover{
    text-decoration:underline;
}
.announce-date{
    color:#888;
    font-size:13px;
    flex-shrink:0;
}

/* 全局底部 */
.footer{
    background:#f0f3f8;
    padding:22px 0;
    margin-top:30px;
    text-align:center;
    font-size:14px;
    color:#555;
}
.msg{
    padding:8px 12px;
    margin:8px 0;
    border-radius:4px;
}
.msg.success{
    color:#155724;
    background:#d4edda;
}
.msg.error{
    color:#721c24;
    background:#f8d7da;
}
/* 导航栏文字禁止选中 */
.top-nav, .top-nav *{
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
/* 导航栏文字禁止选中（覆盖所有导航元素，含浏览器兼容前缀） */
.top-nav, .top-nav *, .nav-inner, .nav-inner *, .nav-logo, .nav-left, .nav-left *, .nav-links, .nav-links *, .nav-right, .nav-right *{
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
}
/* 平台名称悬停保持默认鼠标样式 */
.nav-logo{
    cursor: default !important;
}
/* notice content list compat (legacy <ol>/<ul>) */
.panel ol,.panel ul{padding-left:26px!important;margin:4px 0!important;}
.panel ol{list-style-type:decimal!important;}
.panel ul{list-style-type:disc!important;}
.panel h1,.panel h2,.panel h3,.panel h4,.panel h5{margin:8px 0 4px;}
.panel pre{background:#f5f5f5;padding:10px;border-radius:4px;border:1px solid #eee;overflow-x:auto;}
