/* ===== 部门管理模块（login/bumen）专用样式 ===== */
.bumen-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.5rem 0;}
.bumen-toolbar-left{display:flex;gap:.5rem;align-items:center;}
.bumen-toolbar-right{display:flex;gap:.5rem;align-items:center;}
.bumen-btn-sm{padding:.25rem .75rem;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;font-size:.85rem;color:#333;transition:all .15s;}
.bumen-btn-sm:hover{background:#e8ecf1;border-color:#aaa;}
.bumen-btn-danger{color:#e74c3c;border-color:#e74c3c;}
.bumen-btn-danger:hover{background:#fde8e8;color:#c0392b;}
.bumen-input{border:1px solid #ccc;border-radius:4px;padding:.4rem .6rem;font-size:.9rem;width:18rem;max-width:100%;}
.bumen-input:focus{outline:none;border-color:#1a5fb4;box-shadow:0 0 0 2px rgba(26,95,180,.15);}
.bumen-textarea{width:100%;height:5rem;border:1px solid #ccc;border-radius:4px;padding:.4rem .6rem;font-size:.9rem;resize:vertical;}
.bumen-textarea:focus{outline:none;border-color:#1a5fb4;box-shadow:0 0 0 2px rgba(26,95,180,.15);}
.bumen-flash-ok{padding:.6rem 1rem;margin-bottom:.8rem;background:#eaf7ea;color:#27ae60;border:1px solid #b7e4b7;border-radius:6px;font-size:.9rem;text-align:center;}
.bumen-flash-err{padding:.6rem 1rem;margin-bottom:.8rem;background:#fde8e8;color:#e74c3c;border:1px solid #f5c6c6;border-radius:6px;font-size:.9rem;text-align:center;}
.bumen-input-ok{border-color:#27ae60 !important;box-shadow:0 0 0 2px rgba(39,174,96,.15) !important;}
.bumen-input-err{border-color:#e74c3c !important;box-shadow:0 0 0 2px rgba(231,76,60,.15) !important;}
.bumen-bh-feedback{display:inline-block;margin-left:.5rem;font-size:.85rem;vertical-align:middle;}
.bumen-bh-ok{color:#27ae60;}
.bumen-bh-err{color:#e74c3c;}
.bumen-action-cell{display:flex;gap:.5rem;}
.bumen-action-cell a{padding:.15rem .5rem;border-radius:3px;font-size:.85rem;text-decoration:none;}
.bumen-action-cell a:first-child{color:#1a5fb4;border:1px solid #1a5fb4;}
.bumen-action-cell a:first-child:hover{background:#1a5fb4;color:#fff;}
.bumen-act-del{color:#e74c3c;border:1px solid #e74c3c;}
.bumen-act-del:hover{background:#e74c3c;color:#fff !important;}
.bumen-radio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.3rem;max-height:24rem;overflow-y:auto;border:1px solid #e0e0e0;border-radius:4px;padding:.5rem;justify-items:start;}
.bumen-td-bh{width:3.5rem;min-width:3.5rem;max-width:3.5rem;white-space:nowrap;text-align:right;font-weight:700;background:#f0f5fb;}
.bumen-radio-item{display:flex;align-items:center;justify-content:flex-start;gap:.3rem;cursor:pointer;padding:.2rem;border-radius:3px;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;}
.bumen-radio-item:hover{background:#f5f8fc;}
.bumen-radio-item input{flex-shrink:0;}
.bumen-radio-item small{color:#999;}
@media (max-width:768px){
    .bumen-toolbar{flex-direction:column;align-items:stretch;}
    .bumen-toolbar-right{flex-wrap:wrap;}
}

/* ===== 基础重置 ===== */
*,::before,::after{margin:0;padding:0;box-sizing:border-box;font-family:'Microsoft YaHei',sans-serif}
body{background-color:#eaeaea;color:#333;min-height:100vh;display:flex;flex-direction:column}
a:link{text-decoration-line:none;color:#333}a:hover{color:#973121}

/* ===== 顶部栏 ===== */
.top-bar{background:linear-gradient(to right,#1a5fb4,#2d7bc6);color:#fff;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px rgba(0,0,100,.2);position:relative;z-index:100;line-height:1.4}
.system-name{font-size:24px;font-weight:700;line-height:1.2;background:linear-gradient(to bottom,#fff,#e6f0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 1px 2px rgba(0,0,0,.2)}
.user-info{display:flex;align-items:center;line-height:1.4}
.user-info a{color:#e6f0ff;text-decoration:none;font-size:14px;padding:5px 10px;border-radius:4px;transition:all .3s}
.user-info a:hover{background-color:rgba(255,255,255,.2);text-decoration:underline}

/* ===== 导航区 ===== */
.nav-container{background-color:#fff;box-shadow:0 2px 5px rgba(0,0,0,.1);padding:10px 0;position:relative;z-index:90}
.nav-header{padding:0 20px 10px;color:#1a5fb4;font-weight:700;border-bottom:1px solid #e0e6ed;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}
.nav-header h2{font-size:18px}
.back-button{background-color:#e9ecf5;color:#1a5fb4;border:1px solid #d0d8e8;padding:5px 12px;border-radius:4px;cursor:pointer;font-size:14px;display:block}
.back-button:hover{background:linear-gradient(145deg,#1a5fb4,#0d4a9e);color:#fff;transform:translateY(-2px);box-shadow:5px 5px 15px rgba(0,0,0,.15),-5px -5px 15px rgba(255,255,255,.7)}
.back-button:active{transform:translateY(0);box-shadow:inset 2px 2px 5px rgba(0,0,0,.1),inset -2px -2px 5px rgba(255,255,255,.5)}
/* 危险操作按钮：外观与 back-button 一致，仅颜色为红色系 */
.btn-danger{background-color:#fff5f5;color:#c53030;border:1px solid #fc8181 !important}
.btn-danger:hover{background:linear-gradient(145deg,#e53e3e,#c53030);color:#fff;box-shadow:5px 5px 15px rgba(0,0,0,.15),-5px -5px 15px rgba(255,255,255,.7)}
#export_word{margin:1rem auto}
.nav-links{display:flex;flex-wrap:wrap;padding:10px 15px;gap:12px;flex-direction:row;justify-content:center}
.nav-links-left{justify-content:flex-start}
.nav-link,.topnav .top-link{display:inline-block;padding:10px 18px;background-color:#1a5fb4;color:#fff;text-decoration:none;border-radius:4px;font-size:15px;transition:all .3s;border:1px solid #1a5fb4;text-align:center}
.nav-link{min-width:140px}.topnav .top-link{margin-right:8px}
/* 后台首页模块入口：电脑上左对齐，手机上显示网格格式（宽度随屏变化、两侧各留1%、高度增大） */
.nav-links.nav-grid{justify-content:flex-start;align-items:center}
@media(max-width:768px){
    .nav-links.nav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:98%;margin:0 auto;padding:10px 0;gap:12px;box-sizing:border-box;align-items:stretch;justify-content:stretch}
    .nav-links.nav-grid .nav-link{display:flex;align-items:center;justify-content:center;min-width:auto;width:100%;min-height:52px;padding:16px 10px;font-size:15px;box-sizing:border-box;background-color:#1a5fb4;color:#fff;border:1px solid #1a5fb4}
}
@media(max-width:480px){
    .nav-links.nav-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .nav-links.nav-grid .nav-link{padding:9px 8px;font-size:13px}
}
@media(max-width:360px){
    .nav-links.nav-grid{grid-template-columns:1fr;gap:6px}
    .nav-links.nav-grid .nav-link{padding:8px 6px;font-size:13px}
}
/* 电脑端：恢复原始行布局与原始尺寸（由上方 .nav-links / .nav-link 默认样式控制，不受手机网格影响） */
.nav-link:hover,.topnav .top-link:hover{background-color:#fff;color:#1a5fb4;border-color:#1a5fb4}
.nav-link.active,.nav-link.active:hover,.topnav .top-link.active,.topnav .top-link.active:hover{background-color:#1a5fb4;color:#fff;border-color:#1a5fb4}
/* 第二行导航按钮强制白字（避免被全局 a:link 黑色链接色覆盖），不影响全局链接格式 */
#secondary-nav .nav-link,#secondary-nav .nav-link:link,#secondary-nav .nav-link:visited{color:#fff}
#secondary-nav .nav-link:hover{background-color:#fff;color:#1a5fb4;border-color:#1a5fb4}
/* 第二行导航按钮左对齐（仅作用于 #secondary-nav，不影响全局居中布局） */
#secondary-nav{justify-content:flex-start}
/* 对外发布文章模块导航：不论是否访问过（含 active）都蓝底白字，悬停反色白底蓝字 */
#secondary-nav.article-nav-inner .nav-link,
#secondary-nav.article-nav-inner .nav-link:link,
#secondary-nav.article-nav-inner .nav-link:visited,
#secondary-nav.article-nav-inner .nav-link.active,
#secondary-nav.article-nav-inner .nav-link.active:link,
#secondary-nav.article-nav-inner .nav-link.active:visited{background-color:#1a5fb4;color:#fff;border-color:#1a5fb4}
#secondary-nav.article-nav-inner .nav-link:hover,
#secondary-nav.article-nav-inner .nav-link.active:hover{background-color:#fff;color:#1a5fb4;border-color:#1a5fb4}
/* 顶部 topnav 按钮专用：不论是否访问过都蓝底白字，悬停白底蓝字，不影响全局链接格式 */
#primary-nav .nav-link,#primary-nav .nav-link:link,#primary-nav .nav-link:visited,#primary-nav .nav-link.active{background-color:#1a5fb4;color:#fff;border-color:#1a5fb4}
#primary-nav .nav-link:hover{background-color:#fff;color:#1a5fb4;border-color:#1a5fb4}
.nav-badge{display:inline-block;min-width:18px;height:18px;line-height:18px;padding:0 5px;margin-left:6px;background:#e74c3c;color:#fff;font-size:11px;font-weight:700;text-align:center;border-radius:9px;vertical-align:middle}

/* ===== 主内容区 ===== */
.main-content{flex:1;padding:5px 20px;display:flex;flex-direction:column;gap:2px;width:100%;margin:0 auto}
.summary-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:20px;margin-bottom:20px}
.summary-section h3,.table-section h3{color:#1a5fb4;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #e0e6ed}
.summary-content{line-height:1.6;color:#555}
.summary-content p{margin-bottom:10px}
.summary-content ul{padding-left:20px;margin:10px 0}
.summary-content li{margin-bottom:8px}
.table-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:20px;overflow-x:auto}
.footer{text-align:center;padding:15px;background-color:#1a5fb4;color:rgba(255,255,255,.7);font-size:13px;margin-top:auto}

/* ========== 1. 通用表格 ALL-TABLE ========== */
.all-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:2px solid #6c757d;border-radius:8px}
.all-table{width:100%;border-collapse:collapse;font-size:.88rem;table-layout:auto;border:2px solid #6c757d;margin:1.6rem 0}
.all-table tbody td{white-space:nowrap}
/* 没有wrap时，独立表格也加圆角边框 */
.all-table:not(.all-table-wrap .all-table){border-radius:8px;width:100%;}
/* 班级学生列表：按内容自动撑开，不占满 100% 宽度 */
.all-table.banji-stu-table{width:auto;margin:1.6rem auto}
/* 班级学生列表卡片：随内容自适应宽度（被内容撑开） */
.all-card.banji-stu-card{width:fit-content;max-width:none}
.all-table th{background:#337ab7;color:#fff;padding:.7rem .5rem;text-align:center;font-weight:700;font-size:.82rem;border:1px solid #2e6da4;border-bottom:2px solid #2e6da4;white-space:nowrap}
.all-table thead th a,.all-table thead th a:link,.all-table thead th a:visited,.all-table thead th a:hover,.all-table thead th a:active{color:#fff;text-decoration:none;cursor:pointer}
/* 排序三角形 */
.all-table .th-sort{font-size:.75rem;margin-left:2px;opacity:.45}
.all-table .th-sort.active{opacity:1}
.all-table thead th a:hover .th-sort{opacity:1}
.all-table tbody td{padding:.45rem .4rem;border:1px solid #b0b8c2;color:#333;vertical-align:middle}
.all-table tbody tr:hover td{background:#abc6ed;cursor:pointer}
.all-table tbody tr:nth-child(even) td{background:#dbeafe}
.all-table tbody tr:nth-child(even):hover td{background:#abc6ed}
.all-table tbody td input[type="checkbox"]{margin-right:.4rem;vertical-align:middle;transform:scale(1.1)}
.all-table tbody td img{height:400px;width:auto;vertical-align:middle}
.ts-hidden{display:none}
.ts-img{max-width:240px;height:auto;margin:6px 4px;border:1px solid #eee;border-radius:6px;vertical-align:middle}
.ts-thumb{max-width:64px;max-height:64px;width:auto;height:auto;margin:0;border:1px solid #eee;border-radius:4px;vertical-align:middle;object-fit:cover}
.ts-thumb-cell{text-align:center;width:80px}
.ts-noimg{color:#bbb;font-size:12px}
.ts-img-area img{max-width:200px;height:auto;margin:6px;border:1px solid #eee;border-radius:6px;vertical-align:middle}
.ts-filterbar{margin:14px auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;max-width:1000px}
.ts-tip{text-align:center}
.ts-table-wrap{max-width:96rem;margin:18px auto;box-shadow:0 2px 10px rgba(0,0,0,.06);border-radius:8px}
.ts-table-wrap .all-table{border:none;border-radius:0;margin-bottom:0}
.ts-table-wrap .all-table th{padding:.8rem .6rem;font-size:.9rem}
.ts-table-wrap .all-table td{padding:.6rem .55rem;font-size:.92rem}
.ts-table-wrap .all-table tbody tr{transition:background .2s}
.ts-filterbar a{padding:6px 12px;border:1px solid #ddd;border-radius:4px;text-decoration:none;color:#337ab7;background:#fff}
.ts-filterbar a.active{background:#337ab7;color:#fff;border-color:#337ab7}
.ts-search{display:inline-flex;gap:6px;align-items:center;margin-left:auto}
.ts-search input[type=text]{padding:6px;border:1px solid #ddd;border-radius:4px}
.ts-detail-img{margin:10px 0}
.ts-detail-img img{max-width:240px;height:auto;margin:6px;border:1px solid #eee;border-radius:6px;vertical-align:middle}
.ts-empty{text-align:center;color:#999;padding:30px}
.ts-tip{color:#c00;font-size:14px}
.ts-title{margin:18px auto;font-size:20px;color:#333}
.ts-actions{margin:12px 0}
.ts-buy-form{margin:10px 0}
.pagination{margin:18px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pagination .page-link{display:inline-block;padding:6px 12px;border:1px solid #ddd;border-radius:4px;text-decoration:none;color:#337ab7;background:#fff}
.pagination .page-link.active{background:#337ab7;color:#fff;border-color:#337ab7}
.pagination .page-ellipsis{padding:6px 4px;color:#999}
.pagination .page-jump{margin-left:10px;display:inline-flex;gap:4px;align-items:center}
.pagination .page-input{width:56px;padding:5px;border:1px solid #ddd;border-radius:4px}
.pagination button{cursor:pointer;padding:5px 10px;border:1px solid #ddd;border-radius:4px;background:#337ab7;color:#fff}
.all-table caption{font-size:1.4rem;line-height:1.4;font-weight:700;color:#333;padding:.3rem;caption-side:top}
/* 变体 */
.all-table-lg tbody td{padding:.55rem .45rem}
.all-table-pad tbody td{padding:.8rem .6rem;vertical-align:top;font-size:.92rem}
/* 权限管理：卡片满宽，表格占浏览器 98% 宽（解除 75rem 上限，外框落在 wrap 上） */
.qx-card{width:96%;max-width:none}
.qx-table-wrap{width:95%;margin:0 auto;overflow-x:auto;-webkit-overflow-scrolling:touch;border:2px solid #6c757d;border-radius:8px}
.qx-table-wrap .all-table{width:100%;max-width:none;border:none;border-radius:0;margin-bottom:0}
/* 姓名列固定：横向滚动时不动 */
.qx-table-wrap .all-table th.qx-name,
.qx-table-wrap .all-table td.qx-name{position:sticky;left:0;z-index:2}
.qx-table-wrap .all-table td.qx-name{background:#fff}
.qx-table-wrap .all-table thead th.qx-name{z-index:5}
.qx-table-wrap .all-table th.qx-name::after,
.qx-table-wrap .all-table td.qx-name::after{content:"";position:absolute;top:0;right:0;bottom:0;width:2px;background:#6c757d}
/* ===== 满屏表格：让表格（及其外包装）占满整个浏览器窗口宽度 =====
   用法 1（推荐/当前权限页使用）：在 <main class="main-content"> 上再加 main-full，
   解除 .main-content 的 max-width:105rem 限制，表格随页面容器自然 100% 占满浏览器窗口。
   用法 2：在表格外层 div 上加 class="... table-fullscreen"，直接 breakout 到 100vw。 */
.main-content.main-full{
    max-width:none;
}
.table-fullscreen,
.qx-table-wrap.table-fullscreen{
    width:100vw;
    max-width:none;
    margin-left:calc(50% - 50vw);
    box-sizing:border-box;
}
.all-table-pad-lg tbody td{padding:1rem .3rem;line-height:1.2rem;font-size:.92rem}
.all-table-center{margin:0 auto}
/* 序号列 */
.all-table .table-seq{width:3rem;min-width:3rem;color:#999;font-size:.8rem;text-align:center!important}
/* 课程信息条目（一览表单元格内） */
.kc-info-item{display:inline-block;font-size:.8rem;line-height:1.5;color:#444}
.kc-info-item::before{content:"";display:none}
/* 在 wrap 内的表格无独立边框 */
.all-table-wrap .all-table{border:none;border-radius:0;margin-bottom:0}
/* 表头可选浅色变体 */
.all-table-light th{background:#f0f5fb;color:#2c3e50;border-color:#a8b0ba;border-bottom-color:#8b95a1}
.all-table-light th a{color:#2c3e50}
.all-table-light th a:hover{color:#1a5fb4}
/* 摘要行 */
.all-table .table-summary td{background:#f0f5fb!important;font-weight:700;color:#1a5fb4;border-color:#8b95a1;padding:.65rem .5rem!important;font-size:.88rem}
/* 分页行 */
.all-table .table-page-row td{padding:1rem!important;text-align:center;background:#fafbfc}

/* ========== 2. 通用卡片 ALL-CARD ========== */
.all-card,.hecha-card{margin:1rem auto 1.5rem auto;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:hidden;}
.hecha-card{padding:1.5rem 2rem;max-width:75rem}
.width105{width:105rem}
.all-card-normal{width:100%;}.all-card-wide{width:100%;max-width:100%}
.all-card-narrow{width:98%;max-width:75rem}.all-card-full{width:100%}
.all-card-header{background:linear-gradient(135deg,#409eff,#337ecc);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.all-card-header-title{color:#fff;font-size:1.1rem;font-weight:700}
.all-card-header-nav{display:flex;gap:.5rem;flex-wrap:wrap}
.all-card-header-center{justify-content:center}
.all-card-nav-link{display:inline-block;padding:.35rem .9rem;font-size:.85rem;background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:4px;text-decoration:none;transition:all .2s;white-space:nowrap}
.all-card-nav-link:hover{background:rgba(255,255,255,.35);color:#fff;border-color:rgba(255,255,255,.5)}
.all-card-body{width:auto;max-width:none;overflow:visible}
.all-card-body-sm{padding:1rem 1.2rem .5rem 1.2rem}
.all-card-body-lg{padding:1.5rem 2rem}
.all-card-footer{padding:.8rem 1.5rem;border-top:1px solid #e8ecf1;background:#fafbfc}
.all-card-footer-center{text-align:center;padding:1rem 1.2rem 1.5rem 1.2rem}
.all-card-footer-info{padding-left:2rem;padding-bottom:1.5rem}
.all-card-footer-info a{color:#337ab7;text-decoration:none;font-size:.9rem}
.all-card-footer-info a:hover{color:#1a5fb4;text-decoration:underline}

/* ========== 2.5. 满屏卡片/表格 ALL-CARD-100 ==========
   用法：加在卡片 <section class="all-card ... all-card-100"> 或
   表格外包装 <div class="qx-table-wrap all-card-100"> 上
   效果：width:100vw + margin-left:calc(50%-50vw) 突破父级所有 max-width 限制，占满浏览器窗口 */
section.all-card.all-card-100,
.qx-table-wrap.all-card-100,
.all-card-100{
    width:85vw;
    max-width:none;
    margin:0 auto;
    box-sizing:border-box;
}
/* 满屏卡片去掉圆角和阴影（边缘贴视口边） */
section.all-card.all-card-100{
    border-radius:0;
    box-shadow:none;
}
/* 配合 all-card-100 的内部区域 padding */
.hecha-card-100{padding:1.5rem 2rem;margin:0 auto;}
/* 记录数统计居中 */
.qx-count{text-align:center;}


/* 卡片标题变体 */
.all-card-title{white-space:nowrap}
.all-card-title-lg{font-size:1.25rem;font-weight:700;color:#fff;letter-spacing:.03em}
.all-card-badge{display:inline-block;padding:.25rem .9rem;background:rgba(255,255,255,.22);color:#fff;border-radius:20px;font-size:.78rem;font-weight:600}

/* ===== 阳光分班模块（login/fenban）专用样式 ===== */
.fenban-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.8rem 0}
.fenban-actions form{display:flex;align-items:center;gap:.5rem;margin:0}
.fenban-actions input[type="text"],
.fenban-actions input[type="number"],
.fenban-actions input[type="file"],
.fenban-actions select,
.fenban-actions .fenban-input{
    height:2.4rem;
    padding:.45rem .7rem;
    border:1px solid #ccc;
    border-radius:4px;
    font-size:.9rem;
    line-height:1.4;
    box-sizing:border-box
}
.fenban-actions .fenban-input.fenban-input-verify{width:8rem}
.fenban-actions .fenban-btn,
.fenban-actions button,
.fenban-actions a.fenban-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:2.4rem;
    padding:.45rem 1rem;
    border:1px solid transparent;
    border-radius:4px;
    font-size:.9rem;
    line-height:1.4;
    text-decoration:none;
    cursor:pointer;
    box-sizing:border-box;
    white-space:nowrap
}

/* ========== 3. 通用表单 ALL-FORM ========== */
.all-form{width:100%;margin:1.5rem auto;padding:2rem 2.5rem;background:#fff;border:1px solid #d0d0d0;border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.all-form-wide{max-width:80rem}
.all-form h2,.all-form-title{text-align:center;font-size:1.3rem;color:#333;margin:0 0 1.2rem;padding-bottom:.8rem;border-bottom:2px solid #337ab7}
.all-form-title.standalone{text-align:center;padding:1.5rem 0 .5rem 0;font-size:1.4rem;color:#2c3e50;border-bottom:none;margin:0}
.all-form-notice{padding:.8rem 1.5rem;border-radius:8px;margin-bottom:1rem;font-size:.95rem;line-height:1.7;text-align:center}
.all-form-notice-lock{background:#fdf2f2;color:#721c24;border:1px solid #f1c0c0;font-weight:600}
.all-form-notice-info{background:#e8f4fd;color:#0c5460;border:1px solid #bee5eb}
.all-form-row{display:flex;align-items:flex-start;flex-wrap:wrap;margin-bottom:1rem;gap:.3rem}
.all-form-label{flex-shrink:0;text-align:right;padding-right:.8rem;font-size:.95rem;color:#444;font-weight:500;line-height:2.4}
.all-form-label-w5{width:5rem}.all-form-label-w7{width:7rem}
.all-form-row>label{font-weight:700;color:#333;font-size:.98rem}
.all-form-label-block{flex-basis:100%!important;margin-bottom:.3rem}
.all-form-input{flex:1;min-width:10rem;height:2.4rem;padding:.3rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:.95rem;transition:border-color .2s,box-shadow .2s;outline:none}
.all-form-input:focus{border-color:#337ab7;box-shadow:0 0 0 3px rgba(51,122,183,.12)}
.all-form-input-wide{flex:none;width:100%;max-width:40rem;height:2.4rem;padding:.3rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:.95rem;transition:border-color .2s,box-shadow .2s;outline:none}
.all-form-input-wide:focus{border-color:#337ab7;box-shadow:0 0 0 3px rgba(51,122,183,.12)}
.all-form-field{display:flex;align-items:center;gap:.4rem;flex:1;min-width:0}
.all-form-field .all-form-input-wide{flex:1;width:auto;max-width:none}
.all-form-input-num{width:5.5rem;height:2rem;padding:.2rem .4rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem;font-weight:700;text-align:center;outline:none}
.all-form-input-full{width:100%;box-sizing:border-box;height:2.4rem;padding:.3rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:.95rem;outline:none}
.all-form-select{padding:.35rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:.95rem;background:#fff;min-width:10rem;outline:none}
.all-form-textarea{width:60%;max-width:40rem;min-height:8rem;padding:.5rem;font-size:.95rem;border:1px solid #ccc;border-radius:4px;resize:vertical;box-sizing:border-box;outline:none}
.all-form-textarea:focus{border-color:#337ab7;box-shadow:0 0 0 3px rgba(51,122,183,.12)}
.all-form-ta-h5{height:5rem!important;min-height:5rem!important}
.all-form-ta-h10{height:10rem!important;min-height:10rem!important}
.all-form-img{max-width:48%;margin:4px;border:1px solid #ddd;border-radius:4px;vertical-align:top}
/* ===== 人事管理模块辅助类（替代内联 style，满足 CSP） ===== */
.search-bar{margin-bottom:1rem}
.kw-input{max-width:18rem}
.batch-actions{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;align-items:center}
.page-wrap-center{margin-top:1rem;text-align:center}
.sub-nav{margin-top:1rem;justify-content:flex-start}
.form-title-gap{margin-top:1.5rem}
.form-bare{max-width:none;box-shadow:none;border:none;padding:0}
.all-form-img-thumb{max-height:80px;width:auto}
.notice-left{text-align:left}
/* ===== 新闻统计模块美化（xwt-form） ===== */
.xwt-form{max-width:46rem;padding:2.2rem 2.6rem}
.xwt-form .all-form-label{width:6.5rem;color:#2c3e50}
.xwt-form .all-form-field{display:flex;flex-wrap:wrap;gap:.35rem .9rem;align-items:center;padding:.35rem 0}
.xwt-form .all-form-field input[type=radio],
.xwt-form .all-form-field input[type=checkbox]{margin:.2rem .3rem .2rem 0;transform:scale(1.05);accent-color:#337ab7}
.xwt-form .all-form-input,
.xwt-form .all-form-input-wide,
.xwt-form .all-form-select,
.xwt-form .all-form-textarea{box-shadow:inset 0 1px 2px rgba(0,0,0,.04)}
.xwt-form .all-form-input#example_bf_date,
.xwt-form .all-form-input#example_sd_date,
.xwt-form .all-form-input#example_start_time,
.xwt-form .all-form-input#example_end_time{background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23337ab7' stroke-width='2'><rect x='3' y='4' width='18' height='18' rx='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>") no-repeat right .6rem center;background-size:16px 16px;cursor:pointer;padding-right:2rem}
.xwt-form .all-form-textarea{line-height:1.6}
.xwt-upload-tip{font-size:.82rem;color:#999;margin:.4rem 0 0;width:100%}
.xwt-img-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.xwt-img-grid img{max-height:90px;width:auto;border:1px solid #e2e2e2;border-radius:6px;padding:3px;background:#fafafa}
.xwt-form .all-form-submit{margin-top:1.8rem;padding-top:1.2rem;border-top:1px dashed #e0e0e0}
.xwt-form .all-form-submit .all-form-btn-primary,
.xwt-form .all-form-submit input[type=submit]{box-shadow:0 2px 6px rgba(51,122,183,.25)}
/* 列表/详情中的图片与单元格 */
.xwt-old-img{max-width:48%;margin:4px;border:1px solid #ddd;border-radius:4px}
.xwt-media-cell{line-height:2rem}
.xwt-media-img{max-width:200px;margin:4px;border:1px solid #ddd;border-radius:4px;transition:transform .2s}
.xwt-media-img:hover{transform:scale(1.03)}
.xwt-admin-tip{font-size:1rem}
/* 上传按钮美化 */
.xwt-form .btn{display:inline-block;background:#337ab7;color:#fff;padding:.45rem 1.2rem;border-radius:5px;cursor:pointer;font-size:.9rem;transition:background .2s}
.xwt-form .btn:hover{background:#286090}
.xwt-form .btn input[type=file]{display:none}
.xwt-form #img_tip{font-size:.82rem;color:#999;margin:.5rem 0 0}
.empty-cell{text-align:center;padding:2rem;color:#999}
/* 人员详情 3 列布局：放宽标签列宽，内容可换行 */
.info-table-3col .info-th{width:auto;min-width:6rem;white-space:nowrap}
.info-table-3col td{vertical-align:middle}
.info-th{width:9rem;background:#f0f5fb}
.btn-sm{padding:.3rem 1rem}
.btn-search{padding:.4rem 1.5rem}
.batch-btn-del{color:#e74c3c;border-color:#e74c3c}
.notice-ol{margin:.3rem 0 0 1.2rem;line-height:1.8}
.all-form-cb-label{margin-right:.5rem;display:inline-flex;align-items:center;gap:.2rem}
.all-form-help{font-size:.85rem;color:#888;font-weight:400;margin-top:.25rem;line-height:1.6;width:100%}
.all-form-bitian{color:#e74c3c;margin-left:.3rem;font-weight:700}
.all-form-submit{text-align:center;margin-top:1.5rem}
.all-form-submit input[type="submit"],.all-form-submit button[type="submit"]{padding:.55rem 3rem;background:#337ab7;color:#fff;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:background .2s}
.all-form-submit input[type="submit"]:hover,.all-form-submit button[type="submit"]:hover{background:#286090}
.all-form-btn-primary{padding:.55rem 3rem;background:#337ab7;color:#fff;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:background .2s}
.all-form-btn-primary:hover{background:#286090}
.all-form-submit .all-form-btn-secondary{display:inline-block;margin-left:.8rem;padding:.55rem 2rem;background:#fff;color:#337ab7;border:1px solid #337ab7;border-radius:5px;font-size:1rem;cursor:pointer;text-decoration:none;transition:all .2s}
.all-form-submit .all-form-btn-secondary:hover{background:#eef4fb}
.all-form-editor-wrap{flex:1;min-width:0}
.all-form-left{width:100%;max-width:75rem;margin:1.5rem 0}
.all-form-center{width:100%;max-width:75rem;margin:1.5rem auto}
.all-form-center .all-form-title{text-align:center}
.all-form-center .all-form-label{text-align:left;width:9rem;white-space:nowrap}
.all-form-left .all-form-title{text-align:left}
.all-form-left .all-form-label{text-align:left;width:9rem;white-space:nowrap}
.all-form-hidden-ta{display:none}
.all-form-clear{height:.8rem;clear:both;width:100%}
.all-form-info{background:#f4f8fc;border:1px solid #d6e4f0;border-radius:8px;padding:.7rem 1.2rem;margin-bottom:1.4rem;font-size:.95rem;color:#2c3e50}
.all-form-info a{color:#337ab7;font-weight:600;text-decoration:none}
.all-form-info a:hover{text-decoration:underline}
.all-form-section{border:1px solid #e3e8ee;border-radius:8px;padding:.6rem 1.4rem 1rem;margin:0 0 1.4rem;background:#fafbfc}
.all-form-section legend{padding:0 .6rem;background:#fafbfc}
.all-form-section-title{font-size:.98rem;font-weight:700;color:#337ab7;margin:0 0 .8rem;display:flex;align-items:center;gap:.4rem}
.all-form-section-title::before{content:"";width:.25rem;height:1rem;background:#337ab7;border-radius:2px;display:inline-block}

/* ========== 4. 通用分页 ALL-PAGE ========== */
.page-wrap{padding:1rem 1.2rem 1.2rem 1.2rem;text-align:center}
.all-page-wrap{text-align:center;margin-bottom:.8rem}
.page-info{font-size:.85rem;color:#8899aa;margin-bottom:.6rem;text-align:center}
.page-info strong{color:#1a5fb4;font-weight:700}
.pagination{display:flex;justify-content:center;align-items:center;margin:30px 0 20px;padding:10px;flex-wrap:wrap}
.page-link{display:inline-block;padding:8px 12px;margin:0 4px;border:1px solid #ddd;text-decoration:none;color:#337ab7;border-radius:4px;transition:all .3s}
.page-link:hover{background-color:#eee;border-color:#ccc}
.page-link.current{background-color:#337ab7;color:#fff;border-color:#337ab7}
.page-ellipsis{display:inline-block;padding:8px 5px;margin:0 2px}
.page-jump{display:flex;align-items:center;margin-left:15px;padding:5px;background:#f8f9fa;border-radius:4px}
.page-jump span{margin:0 5px;font-size:14px;color:#666}
.page-input{width:50px;padding:6px;border:1px solid #ddd;border-radius:4px;text-align:center;margin:0 5px}
.page-input:focus{outline:none;border-color:#66afe9;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}

/* ========== 5. 通用查找 SEARCH ========== */
.search-card{max-width:750px;margin:2rem auto;background:#fff;border-radius:12px;box-shadow:0 2px 16px rgba(0,0,0,.08);padding:2.5rem 3rem}
.search-card h1,.search-title{font-size:1.5rem;color:#1a5fb4;text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #eef2f7}
.search-row{margin-bottom:1.5rem}
.search-label{display:inline-block;font-weight:700;font-size:1.05rem;color:#444;min-width:5rem;vertical-align:top;line-height:2.2}
.search-radio-group{display:inline-flex;flex-wrap:wrap;gap:8px 16px;vertical-align:top}
.search-radio-group label{display:inline-flex;align-items:center;padding:6px 16px;background:#f5f7fa;border:1px solid #dcdfe6;border-radius:6px;cursor:pointer;font-size:.95rem;color:#555;transition:all .2s;user-select:none;margin-right:0}
.search-radio-group label:hover{border-color:#1a5fb4;color:#1a5fb4;background:#ecf3fc}
.search-radio-group label:has(input:checked){background:#1a5fb4;border-color:#1a5fb4;color:#fff;font-weight:700}
.search-radio-group input[type="radio"]{display:none}
.search-input{padding:8px 14px;border:1px solid #dcdfe6;border-radius:6px;font-size:1rem;color:#333;transition:border-color .2s;outline:none}
.search-input:focus{border-color:#1a5fb4;box-shadow:0 0 0 3px rgba(26,95,180,.1)}
.search-input::placeholder{color:#bbb}
.search-input-w14{width:14rem}
.search-input-full{width:100%;padding:.6rem 1rem}
.search-submit{display:inline-block;width:180px;margin:0;padding:10px 0;background:linear-gradient(135deg,#1a5fb4,#2d7bc6);color:#fff;font-size:1.1rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;letter-spacing:3px;transition:all .25s;box-shadow:0 4px 12px rgba(26,95,180,.3)}
.search-submit:hover{background:linear-gradient(135deg,#155196,#1a5fb4);box-shadow:0 6px 18px rgba(26,95,180,.4);transform:translateY(-2px)}
.search-submit:active{transform:translateY(0)}
.search-reset{display:inline-block;width:140px;padding:10px 0;background:#fff;color:#666;font-size:1.05rem;border:1px solid #dcdfe6;border-radius:8px;cursor:pointer;letter-spacing:2px;transition:all .25s}
.search-reset:hover{border-color:#c0392b;color:#c0392b;background:#fdf2f2}
.search-btn-row{display:flex;justify-content:center;gap:16px;margin-top:2rem}
.search-desc{color:#777;font-size:.88rem;margin-bottom:1.5rem;line-height:1.6;text-align:center}
.search-empty{padding:2.5rem 1.5rem;text-align:center}
.search-empty p{color:#92400e;font-size:1rem;margin-bottom:1.2rem;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:1rem 1.2rem;display:inline-block}
.search-result-footer{margin:1.5rem auto;text-align:center;color:#999;font-size:.9rem}
/* 查找表单（嵌入卡片内的） */
.all-card .search-row{margin-bottom:1rem}
.all-card .search-input-full{box-sizing:border-box}

/* ========== 6. 通用按钮 ========== */
.btn{display:inline-block;padding:8px 16px;background-color:#4CAF50;color:#fff;text-decoration:none;border-radius:4px;border:none;cursor:pointer;font-size:14px}
.btn:hover{background-color:#45a049}
.btn-primary{background-color:#007bff}.btn-primary:hover{background-color:#0069d9}
.xm-form-inline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}
.xm-form-inline input[type="text"]{padding:.75rem 1rem;border:1px solid #a8b0ba;border-radius:6px;font-size:1.1rem;width:280px}
.xm-form-inline input[type="text"]:focus{outline:none;border-color:#1a5fb4;box-shadow:0 0 0 3px rgba(26,95,180,.15)}
.xm-form-inline .btn-submit{width:auto;margin:0;padding:0 1.5rem}
.btn-submit{display:block;width:240px;margin:0 auto;height:46px;font-size:1.05rem;border:none;border-radius:8px;background:linear-gradient(135deg,#1a5fb4,#3584e4);color:#fff;font-weight:600;letter-spacing:2px;cursor:pointer;transition:all .25s;box-shadow:0 2px 8px rgba(26,95,180,.3)}
.btn-submit:hover{background:linear-gradient(135deg,#1550a0,#2b72cc);box-shadow:0 4px 14px rgba(26,95,180,.4);transform:translateY(-1px)}
.btn-submit:active{transform:translateY(0);box-shadow:0 1px 4px rgba(26,95,180,.3)}
.btn-confirm{display:block;width:240px;margin:0 auto;font-size:1.3rem;padding:.8rem 1rem;height:auto;text-align:center;line-height:normal;box-sizing:border-box;border:none;border-radius:8px;background:linear-gradient(135deg,#1a5fb4,#3584e4);color:#fff;font-weight:600;letter-spacing:2px;cursor:pointer;transition:all .25s;box-shadow:0 2px 8px rgba(26,95,180,.3);text-decoration:none}
.btn-confirm:hover{background:linear-gradient(135deg,#1550a0,#2b72cc);box-shadow:0 4px 14px rgba(26,95,180,.4);transform:translateY(-1px)}
.btn-confirm:active{transform:translateY(0);box-shadow:0 1px 4px rgba(26,95,180,.3)}
.btn-confirm:link,.btn-confirm:visited{color:#fff}
/* 小链接按钮 */
.link-btn{display:inline-block;padding:.25rem .7rem;font-size:.85rem;background:#fff;border:1px solid #dcdfe6;border-radius:4px;color:#337ab7;text-decoration:none;transition:all .2s;cursor:pointer;white-space:nowrap}
.link-btn:hover{background:#ecf5ff;border-color:#b3d8ff;color:#1a5fb4}
.link-btn-danger{color:#e74c3c!important;border-color:#f5c6cb!important}
.link-btn-danger:hover{background:#fef0f0!important;border-color:#e74c3c!important;color:#c0392b!important}
.link-sep{color:#999;margin:0 2px}
/* 操作区工具条 */
.action-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;margin-bottom:.8rem;padding:.6rem .8rem;background:#f8fafc;border-radius:8px;border:1px solid #e8ecf1}
/* 留言详情页表格内操作按钮间距（替代内联样式） */
.gb-op-form{display:inline-block;margin-left:10px;vertical-align:middle}
.gb-op-form:first-child{margin-left:0}
.d-none{display:none !important}
/* 留言详情页：Word导出加载遮罩 */
.gb-loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,.8);z-index:9999;display:flex;justify-content:center;align-items:center}
.gb-loading-box{text-align:center;padding:20px;background:#fff;border-radius:5px;box-shadow:0 0 10px rgba(0,0,0,.3)}
/* 留言详情页：删除确认弹窗 */
.gb-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);justify-content:center;align-items:center;z-index:1000}
.gb-modal-content{background:#fff;padding:30px;border-radius:10px;box-shadow:0 5px 25px rgba(0,0,0,.2);max-width:450px;width:100%;text-align:center;animation:gbModalFadeIn .3s}
@keyframes gbModalFadeIn{from{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}
.gb-modal-content h3{color:#ff4b2b;margin-bottom:15px}
.gb-modal-content p{margin-bottom:25px;color:#555}
.gb-modal-buttons{display:flex;justify-content:center;gap:15px}
.gb-modal-btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-weight:600;transition:all .2s}
.gb-modal-confirm{background:#ff4b2b;color:#fff}
.gb-modal-confirm:hover{background:#e63c1f}
.gb-modal-cancel{background:#e9ecef;color:#495057}
.gb-modal-cancel:hover{background:#dde1e6}
/* 留言板列表页：表格外边框包装器 */
.gb-table-wrap{border:1px solid #6c757d;border-radius:8px;overflow:hidden;margin-bottom:1rem}
.gb-table-wrap .all-table{border:none;border-radius:0;margin-bottom:0}
/* 留言列表：完整边框线（外框 + 单元格横线竖线，类似 Excel/Word 表格） */
.gb-table-wrap .all-table{border-collapse:collapse;border:1px solid #6c757d}
.gb-table-wrap .all-table th{border:1px solid #2e6da4}
.gb-table-wrap .all-table td{border:1px solid #c2cad4}
/* 留言列表内容：由 PHP gb_truncate() 统一截断为 70 字符，此处不再做 CSS 截断 */
.gb-table-wrap .content{line-height:1.6}
.action-bar .link-btn{padding:.3rem .8rem;font-size:.85rem}
.action-bar-spacer{margin-left:auto}
/* 总数字显示 */
.total-info{font-size:1.3rem;font-weight:700;margin-left:3rem}
.total-count{font-size:1.6rem;font-weight:700;color:#1a5fb4}
/* xuanke 链接按钮组 */
.xuanke-link-btn,li .all-card-nav-link{display:inline-block;padding:.3rem .8rem;font-size:.85rem;color:#1a5fb4;background:#eef4fb;border:1px solid #cdddf0;border-radius:4px;text-decoration:none;transition:all .2s;margin:.15rem;white-space:nowrap}
.xuanke-link-btn:hover,li .all-card-nav-link:hover{background:#337ab7;color:#fff;border-color:#337ab7}
.xuanke-link-btn-red{background:#fef0f0;color:#e74c3c;border-color:#f5c6cb}.xuanke-link-btn-red:hover{background:#e74c3c;color:#fff;border-color:#e74c3c}
.xuanke-link-btn-green{background:#eafaf1;color:#27ae60;border-color:#a9dfbf}.xuanke-link-btn-green:hover{background:#27ae60;color:#fff;border-color:#27ae60}
.xuanke-link-btn-orange{background:#fef9e7;color:#e67e22;border-color:#f9e79f}.xuanke-link-btn-orange:hover{background:#e67e22;color:#fff;border-color:#e67e22}

/* 操作按钮 */
.icon-download{margin-right:5px}label{margin-right:10px}
input[type="date"]{padding:5px;border:1px solid #ddd;border-radius:4px}
.pilian_daochu_guestbook{margin-top:1rem;text-align:center}
input.caozuo,.js-select-all,.js-fan-select,.js-no-select{padding:8px 16px;font-size:14px;margin:4px 6px;border:1px solid #bbb;border-radius:5px;background:#f8f8f8;cursor:pointer;transition:background .15s,border-color .15s}
input.caozuo:hover,.js-select-all:hover,.js-fan-select:hover,.js-no-select:hover{background:#e8e8e8;border-color:#999}
.export-link-btn{display:inline-block;padding:10px 28px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff!important;font-size:1.2rem;font-weight:700;border-radius:8px;text-decoration:none;letter-spacing:2px;box-shadow:0 4px 12px rgba(231,76,60,.4);transition:all .25s;cursor:pointer}
.export-link-btn:hover{background:linear-gradient(135deg,#c0392b,#a93226);color:#fff!important;box-shadow:0 6px 18px rgba(231,76,60,.5);transform:translateY(-2px)}
.export-link-btn:active{transform:translateY(0);box-shadow:0 2px 6px rgba(231,76,60,.3)}

/* 新闻统计 - 概览卡片 */
.stat-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}
.stat-card{flex:1 1 9rem;min-width:8.5rem;color:#fff;border-radius:10px;padding:1.1rem 1.2rem;box-shadow:0 2px 10px rgba(26,95,180,.18);text-align:center;background:linear-gradient(135deg,#1a5fb4,#2d7bc6)}
.stat-card.stat-blue{background:linear-gradient(135deg,#1a5fb4,#2d7bc6)}
.stat-card.stat-green{background:linear-gradient(135deg,#27ae60,#2ecc71)}
.stat-card.stat-orange{background:linear-gradient(135deg,#e67e22,#f39c12)}
.stat-card.stat-red{background:linear-gradient(135deg,#e74c3c,#ec7063)}
.stat-card.stat-purple{background:linear-gradient(135deg,#8e44ad,#a569bd)}
.stat-num{font-size:1.9rem;font-weight:800;line-height:1.1}
.stat-label{font-size:.85rem;opacity:.92;margin-top:.3rem}

/* 新闻统计 - 筛选栏 */
.stat-filter{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}
.stat-filter label{margin:0;display:inline-flex;align-items:center;gap:.4rem;font-size:.95rem;color:#444}
.export-link-wrap{text-align:right!important;border:0}

/* 小标签 */
.bk_green,.bk_red,.bk_yellow,.bk_blue,.bk_gray{display:inline-block;padding:4px 10px;border-radius:3px;font-size:13px;font-weight:700;color:#fff;cursor:pointer;text-decoration:none;line-height:1.4}
.bk_green{background-color:#28a745;border:1px solid #1e7e34}.bk_green:hover{background-color:#218838}
.bk_red{background-color:#86363e;border:1px solid #bd2130}.bk_red:hover{background-color:#8abdef}
.bk_yellow{background-color:#e6a817;border:1px solid #c79014;color:#fff}.bk_yellow:hover{background-color:#d4950f}
.bk_gray{background-color:#9099a1;border:1px solid #7c858d;color:#fff}.bk_gray:hover{background-color:#7c858d}
.bk_blue{background-color:#1a73e8;border:1px solid #1557b0}.bk_blue:hover{background-color:#1557b0}
tr.bk_red{display:table-row;padding:0;border-radius:0;cursor:default}
li.bk_green{color:#155724;font-weight:700}li.bk_red{color:#721c24;font-weight:700}
li.bk_green,li.bk_red{display:list-item;background-color:transparent;color:inherit;border:none;font-weight:400;padding:0;font-size:14px}
.kc-status-unshenhe{background-color:#fef3c7!important;color:#92400e;font-weight:600}

/* 状态徽章 */
.status-badge{display:inline-block;padding:3px 8px;border-radius:12px;font-size:12px;font-weight:700}
.status-reported{background-color:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}
.status-completed{background-color:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}
.status-pending{background-color:#fffbe6;color:#faad14;border:1px solid #ffe58f}
.status-recycle{background-color:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}
/* 表格空数据行 */
.gb-empty-row{text-align:center}

/* ========== 7. KC课程专用 ========== */
/* 课名单元格 */
.all-table .kc-name-cell{text-align:left;min-width:10rem;max-width:16rem}
.all-table .kc-name-cell a{color:#1a5fb4;font-weight:600;text-decoration:none;transition:color .2s}
.all-table .kc-name-cell a:hover{color:#e74c3c;text-decoration:underline}
/* 紧凑列 */
.all-table .kc-compact-cell{max-width:5rem;word-break:break-all;font-size:.82rem;text-align:left}
/* 数字链接 */
.all-table .kc-num-cell a{display:inline-block;padding:.15rem .35rem;border-radius:3px;background:#eef4fb;color:#337ab7;text-decoration:none;font-size:.82rem;font-weight:600;transition:all .2s}
.all-table .kc-num-cell a:hover{background:#337ab7;color:#fff}
/* 操作列 */
.all-table .kc-action-cell{white-space:nowrap;font-size:.82rem}
.all-table .kc-action-cell a{display:inline-block;padding:.15rem .4rem;color:#337ab7;text-decoration:none;border-radius:3px;transition:all .2s}
.all-table .kc-action-cell a:hover{background:#e6f0ff;color:#1a5fb4}
.all-table .kc-action-cell .kc-act-del{color:#e74c3c}
.all-table .kc-action-cell .kc-act-del:hover{background:#fde8e8;color:#c0392b}
.kc-act-del{color:#e74c3c;background:none;border:none;cursor:pointer;padding:.1rem .35rem;font-size:.9rem}
.kc-act-del:hover{text-decoration:underline;color:#c0392b}
/* 群图 */
.all-table .kc-qun-img-cell img{max-height:28px;width:auto;border-radius:4px;border:1px solid #e0e6ed;transition:transform .2s}
.all-table .kc-qun-img-cell img:hover{transform:scale(2.5);box-shadow:0 4px 16px rgba(0,0,0,.2);position:relative;z-index:10}
.kc-qun-img{max-height:30px;width:auto;display:block;margin:0 auto}
/* 列表工具栏 */
.kc-list-actions-row{background:#fafbfc;border-top:1px solid #eef0f4}
.kc-list-actions-row td{padding:.4rem 1rem!important;text-align:left}
.kc-list-actions-group,.kc-list-select-btns,.kc-list-op-btns{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.kc-list-select-btns{margin-right:1rem}.kc-list-op-btns{gap:.3rem}
.kc-list-select-btns button{padding:.35rem .8rem;font-size:.82rem;border:1px solid #cdddf0;border-radius:4px;background:#fff;color:#337ab7;cursor:pointer;transition:all .2s}
.kc-list-select-btns button:hover{background:#337ab7;color:#fff;border-color:#337ab7}
.kc-list-op-label{font-size:.82rem;color:#666;margin-left:.5rem}
.kc-list-op-btns input.caozuo{padding:.35rem .9rem;font-size:.82rem}
/* 列表信息面板 */
.kc-list-hint-box{background:#fffbe6;border:1px solid #ffe58f;border-radius:8px;padding:.8rem 1.2rem;line-height:1.8;font-size:.85rem;color:#8c6d00}
.kc-list-hint-box ol{margin:.3rem 0 .3rem 1.2rem;padding:0}
.kc-list-hint-box li{margin-bottom:.2rem}
.kc-list-hint-box .kc-hint-important{color:#d63031;font-weight:600}
/* 导出区 */
.kc-list-export-section{margin-bottom:1rem}
.kc-list-export-section h3{font-size:.95rem;color:#2c3e50;margin:0 0 .6rem 0;padding-left:.7rem;border-left:3px solid #e74c3c}
.kc-list-export-list{list-style:none;padding:0;margin:0}
.kc-list-export-list li{line-height:2rem;font-size:.9rem}
.kc-list-export-list li a{color:#e74c3c;font-weight:600;text-decoration:none;transition:color .2s}
.kc-list-export-list li a:hover{color:#c0392b;text-decoration:underline}
/* 返回按钮 */
.kc-list-back,.kc-detail-back{margin:1.5rem 0 .5rem 0;text-align:center}
.btn-back{display:inline-block;padding:.6rem 2rem;background-color:#667eea;color:#fff;text-decoration:none;border-radius:8px;font-size:.95rem;font-weight:500;transition:background-color .2s,transform .15s;cursor:pointer}
.btn-back:hover{background-color:#5a6fd6;color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,.3)}
.kc-edit-clear{height:.8rem;clear:both}
/* 课程详情 */
.kc-detail-badge-red{background:#e74c3c;color:#fff}
.kc-detail-section-title{margin:0 0 1.2rem 0;font-size:1.05rem;font-weight:600;color:#2c3e50;padding-left:.85rem;border-left:3px solid #667eea;line-height:1.3}
.kc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.kc-detail-item{display:flex;flex-direction:column;gap:.2rem;padding:.6rem .85rem;background:#f8f9fb;border-radius:8px;border:1px solid #eef0f4}
.kc-detail-item-wide{grid-column:1/-1}
.kc-detail-label{font-size:.78rem;font-weight:600;color:#8899aa;text-transform:uppercase;letter-spacing:.04em}
.kc-detail-value{font-size:.95rem;color:#2c3e50;line-height:1.5;word-break:break-all}
.kc-detail-images{display:flex;gap:1.5rem;flex-wrap:wrap}
.kc-detail-img-wrap{display:flex;flex-direction:column;align-items:center;gap:.5rem}
.kc-detail-img-label{font-size:.82rem;font-weight:600;color:#667}
.kc-detail-img{max-width:14rem;max-height:14rem;border-radius:8px;border:2px solid #e8ecf1;transition:transform .2s,box-shadow .2s;cursor:pointer}
.kc-detail-img:hover{transform:scale(1.03);box-shadow:0 6px 20px rgba(0,0,0,.12);border-color:#667eea}
.kc-detail-remark{font-size:.93rem;color:#444;line-height:1.75;padding:1rem 1.2rem;background:#fafbfc;border-radius:8px;border:1px solid #eef0f4}
.kc-detail-remark video{max-width:90vw!important;height:auto!important}
.kc-detail-remark .w-e-textarea-video-container{max-width:90vw!important}
.kc-detail-remark img,.kc-detail-value-wrap img{max-width:100%;height:auto}

/* ========== 8. DM点名专用 ========== */
.dm-info-label{font-size:.95rem;color:#888;margin-right:.5rem}
.dm-info-value{font-size:1.4rem;font-weight:700;color:#2c3e50;margin:0 .3rem}
.dm-info-unit{color:#999;font-size:.85rem}
/* 点名列宽 */
.dm-seq-cell{width:3rem;min-width:3rem}
.dm-name-cell{min-width:8rem;text-align:left!important}
.dm-count-cell{width:4rem;min-width:4rem}
.dm-time-cell{width:9rem;min-width:9rem;white-space:nowrap}
.dm-action-cell{min-width:15rem;white-space:nowrap}
tr.dm-row-unshenhe td{background-color:#fef3c7!important}
tr.dm-row-unshenhe:hover td{background:#fde68a!important}
.dm-start-seq-cell{width:3rem;min-width:3rem;text-align:center!important}
.dm-start-class-cell{width:6rem;min-width:6rem;text-align:center!important}
.dm-start-name-cell{min-width:7rem}
.dm-start-phone-cell,.dm-start-bzr-phone-cell{width:7.5rem;min-width:7.5rem;white-space:nowrap}
.dm-start-bzr-cell{min-width:5rem}
.dm-search-seq-cell{width:3rem;min-width:3rem;text-align:center!important}
.dm-search-bh-cell{width:5rem;min-width:5rem;text-align:center!important}
.dm-search-name-cell{min-width:5rem;font-weight:600}
.dm-search-class-cell{min-width:7rem;text-align:center!important}
.dm-search-phone-cell{width:7.5rem;min-width:7.5rem;white-space:nowrap}
.dm-search-action-cell{min-width:8rem;white-space:nowrap}
.dm-stu-seq-cell{width:4rem;min-width:4rem;text-align:center!important}
.dm-stu-class-cell{width:6rem;min-width:6rem;text-align:center!important}
.dm-stu-name-cell{min-width:5rem}
.dm-stu-phone-cell,.dm-stu-bzr-phone-cell{width:7.5rem;min-width:7.5rem;white-space:nowrap}
.dm-stu-bzr-cell{min-width:5rem}
.dm-stu-action-cell{width:5rem;min-width:5rem;white-space:nowrap}
/* 点名详情 */
.dm-detail-wrap{max-width:50rem;margin:1rem auto;padding:1rem}
.dm-detail-wrap h3{text-align:center;color:#2c3e50;margin-bottom:.8rem}
.dm-detail-list{line-height:1.8;font-size:.95rem}
.dm-detail-title{max-width:75rem;margin:0 auto;text-align:center}
.dm-detail-title h2{font-size:1.3rem;color:#2c3e50}
.dm-detail-stu-list{max-width:75rem;margin:1rem auto;padding:1rem;font-size:1rem;line-height:2rem;text-align:center;border:1px solid #d5dce6;border-radius:8px;background:#fafbfc}
.dm-detail-stu-item{margin-right:1rem;border-bottom:2px solid #409eff}
.dm-detail-total{font-size:1.6rem;text-align:center;color:#2c3e50;margin:.5rem 0}
/* 学生转移面板 */
.dm-stu-transfer-panel{margin-top:1rem;padding:1rem 1.2rem;background:#f8fafc;border:1px solid #e0e5ec;border-radius:8px}
.dm-stu-transfer-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem}
.dm-stu-transfer-row:last-child{margin-bottom:0}
.dm-stu-transfer-label{color:#555;font-size:.9rem;white-space:nowrap}
.dm-stu-transfer-select{padding:.35rem .6rem;border:1px solid #d0d7de;border-radius:4px;font-size:.85rem;color:#333;background:#fff;min-width:18rem;max-width:100%}
.dm-stu-transfer-select:focus{border-color:#409eff;outline:none;box-shadow:0 0 0 2px rgba(64,158,255,.2)}
.dm-stu-tips{width:96%;max-width:75rem;margin:0 auto 1rem auto;padding:.8rem 1.2rem;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:.88rem;line-height:1.8rem}
.dm-stu-tips a{color:#337ab7;text-decoration:none;font-weight:600}
.dm-stu-tips a:hover{color:#23527c;text-decoration:underline}
/* 标题 */
.this_tile{line-height:3rem;font-size:2rem}.w_50{word-wrap:break-word;word-break:break-all}

/* ========== 9. XM选课项目管理 ========== */
.xm-table-wrap{max-width:105rem;width:100%;margin:1rem auto;background:#fff;border:2px solid #6c757d;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:hidden;padding:0 0 1rem 0}
.xm-table-wrap .all-table{border:none;border-radius:0;margin-bottom:0}
.xm-table-wrap .all-table th{padding:.75rem .6rem;font-size:.88rem;text-align:center}
.xm-table-wrap .all-table td:first-child,.xm-table-wrap .all-table th:first-child{text-align:center;width:3rem}
.xm-title-link{font-size:1rem;color:#1a5fb4;text-decoration:none;display:block;margin-bottom:.5rem}
.xm-title-link:hover{color:#e74c3c;text-decoration:underline}
.xm-link-group{display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;margin-bottom:.25rem}
.xm-link{display:inline-block;padding:.8rem .5rem;color:#337ab7;text-decoration:none;border-radius:4px;white-space:nowrap;transition:background .15s,color .15s}
.xm-link:hover{background:#e6f0ff;color:#1a5fb4;text-decoration:none}
.xm-link-danger{color:#e74c3c}.xm-link-danger:hover{background:#fde8e8;color:#c0392b}
.xm-link-success{color:#27ae60}.xm-link-success:hover{background:#e6f9ee;color:#1e8449}
.xm-link-warn{color:#e67e22}.xm-link-warn:hover{background:#fef3e5;color:#d35400}
.xm-link-admin{color:#8e44ad}.xm-link-admin:hover{background:#f3eaf8;color:#6c3483}
.xm-sep{color:#ccc;margin:0 .15rem;font-size:.75rem;user-select:none}
.xm-status-badge{display:inline-block;padding:.15rem .6rem;border-radius:10px;font-size:.75rem;font-weight:600;margin-bottom:.4rem}
.xm-link-group-label{color:#999;font-weight:700;letter-spacing:.05em;margin-right:.3rem;padding:.15rem .4rem;background:#f0f2f5;border-radius:3px;white-space:nowrap}
/* XM选课首页表格：窄屏自适应手机宽度（取消 nowrap，让标题换行、操作链接堆叠） */
@media (max-width:768px){
    /* 外层包装占满手机宽度，去掉过大留白 */
    .xm-table-wrap{width:100%;max-width:100%;margin:.5rem auto;padding:0 0 .5rem 0;box-shadow:none}
    .xm-table-wrap .all-table{table-layout:fixed}
    /* 序号列收窄但保留，标题列、操作列自适应 */
    .xm-table-wrap .all-table td:first-child,
    .xm-table-wrap .all-table th:first-child{width:2.2rem;min-width:2.2rem;max-width:2.2rem;font-size:.78rem}
    /* 关键：取消强制不换行，让标题与操作可折行收缩到屏宽内 */
    .xm-table-wrap .all-table tbody td,
    .xm-table-wrap .all-table thead th{white-space:normal;word-break:break-word}
    .xm-table-wrap .all-table td.xm-title-cell,
    .xm-table-wrap .all-table th.xm-title-cell{width:auto}
    .xm-title-link{font-size:.92rem;line-height:1.35;margin-bottom:.35rem;word-break:break-word}
    /* 操作列内的多个链接改为可换行的紧凑排列，避免横向溢出 */
    .xm-link-group{flex-direction:row;flex-wrap:wrap;gap:2px 4px;justify-content:flex-start}
    .xm-link{padding:.45rem .55rem;font-size:.8rem;line-height:1.2;white-space:normal}
    .xm-sep{display:none}
    .xm-link-group-label{display:block;width:100%;margin-bottom:.2rem}
    .xm-table-wrap .all-table th{padding:.5rem .35rem;font-size:.78rem}
    .xm-table-wrap .all-table td{padding:.5rem .35rem;font-size:.82rem;vertical-align:top}
}
/* 超窄屏（如 360px 以下）进一步压缩 */
@media (max-width:420px){
    .xm-table-wrap .all-table th{padding:.4rem .25rem;font-size:.72rem}
    .xm-table-wrap .all-table td{padding:.4rem .25rem;font-size:.76rem}
    .xm-link{padding:.4rem .45rem;font-size:.74rem}
}
/* XM详情 */
.xm-detail-wrap{max-width:48rem;margin:1.5rem auto;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:hidden}
.xm-detail-header{background:linear-gradient(135deg,#1a5fb4,#3b8ad9);padding:1.5rem 2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.xm-detail-title{margin:0;font-size:1.35rem;font-weight:700;color:#fff;flex:1}
.xm-detail-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.xm-detail-actions .xm-link{color:#fff;background:rgba(255,255,255,.2);padding:.3rem .8rem;font-size:.82rem}
.xm-detail-actions .xm-link:hover{background:rgba(255,255,255,.35);color:#fff}
.xm-detail-body{padding:1.5rem 2rem;display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.xm-detail-body .xm-info-item{padding:.5rem .8rem;background:#f8f9fb;border-radius:8px;border:1px solid #eef0f4}
.xm-detail-body .xm-info-item-full{grid-column:1/-1}
.xm-info-label{display:block;font-size:.75rem;font-weight:600;color:#8a9;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem}
.xm-info-value{display:block;font-size:.93rem;color:#333;line-height:1.5;word-break:break-all}
.xm-detail-img-wrap{padding:0 2rem 1.5rem 2rem;text-align:center}
.xm-detail-img-label{display:block;font-size:.82rem;font-weight:600;color:#667;margin-bottom:.5rem}
.xm-detail-img-wrap img{max-width:18rem;border-radius:8px;border:2px solid #e8ecf1;transition:transform .2s}
.xm-detail-img-wrap img:hover{transform:scale(1.03);border-color:#1a5fb4}
.xm-gaikuang-wrap{max-width:45rem;margin:1.5rem auto;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);padding:2rem}
.xm-gaikuang-wrap h2{margin:0 0 1.2rem 0;font-size:1.05rem;font-weight:600;color:#2c3e50;padding-left:.85rem;border-left:3px solid #1a5fb4;line-height:1.3}
.xm-gaikuang-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.7rem;margin-bottom:1.5rem}
.xm-gaikuang-stat{padding:.65rem .9rem;background:#f0f4f8;border-radius:8px;text-align:center}
.xm-gaikuang-stat .stat-num{font-size:1.5rem;font-weight:700;color:#1a5fb4;display:block}
.xm-gaikuang-stat .stat-label{font-size:.78rem;color:#8899aa;margin-top:.2rem}
.xm-gaikuang-wrap img{max-width:100%;border-radius:8px;border:2px solid #e8ecf1}

/* ========== 10. 账目/核查 ========== */
.zhangmu-time-info{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem;padding:.6rem 1rem;background:#f0f5fb;border-radius:6px;font-size:.9rem;color:#555}
/* 核查 */
.hecha-container{max-width:75rem;margin:0 auto;padding:.8rem 1rem 1.5rem 1rem}
.hecha-header{text-align:center;margin-bottom:1.25rem}
.hecha-header h1{display:inline-block;font-size:1.5rem;color:#1a5fb4;margin:0 .6rem 0 0;vertical-align:middle}
.hecha-badge{display:inline-block;padding:.2rem .85rem;background:#eef3fc;color:#5a8fc4;border-radius:20px;font-size:.8rem;vertical-align:middle;border:1px solid #d5e1f0;letter-spacing:.5px}
.hecha-card-title{font-size:1.12rem;color:#333;margin:0 0 .5rem 0;padding-bottom:.6rem;border-bottom:2px solid #f0f3f8}
.hecha-card-desc{color:#888;font-size:.9rem;margin:0 0 1rem 0;line-height:1.6}
.hecha-stats{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.hecha-stat{flex:1;min-width:7rem;text-align:center;padding:1rem .6rem;background:#f8fafc;border-radius:8px;border:1px solid #e8ecf2}
.hecha-stat-val{display:block;font-size:2rem;font-weight:700;color:#1a5fb4;line-height:1.2}
.hecha-stat-diff .hecha-stat-val{color:#e74c3c}
.hecha-stat-diff .hecha-stat-val.zero{color:#27ae60}
.hecha-result,.hecha-verify-result{text-align:center;padding:.8rem 1rem;border-radius:6px;font-size:.95rem;font-weight:600;margin:.8rem 0 0 0}
.hecha-result-pass,.hecha-verify-pass{background:#eafaf1;color:#155724;border:1px solid #b7dfc5}
.hecha-result-fail,.hecha-verify-fail{background:#fdf2f2;color:#721c24;border:1px solid #f1c0c0}
.hecha-extra h3{font-size:.95rem;color:#555;margin:1rem 0 .5rem 0;padding:.35rem .8rem;background:#fef9e7;border-left:4px solid #f0c040;border-radius:0 4px 4px 0}
.hecha-extra-list{list-style:none;padding:0;margin:0}
.hecha-extra-item{padding:.5rem 1rem;border-bottom:1px solid #f2f4f8;font-size:.9rem;line-height:1.7}
.hecha-extra-item:last-child{border-bottom:none}
.hecha-extra-item .label{color:#999;margin-right:.2rem}
.hecha-extra-item .val{color:#333;font-weight:500}
.hecha-stu-names{color:#2d7bc6}
.hecha-total{margin:.8rem 0 0 0;padding:.6rem 1rem;background:#f0f5fb;border-radius:6px;color:#1a5fb4;font-weight:600;font-size:.95rem}
.hecha-verify-stats{display:flex;gap:1rem;flex-wrap:wrap}

/* ========== 11. 杂项 ========== */
.neibu_center{margin:0 auto}.pic_css{width:98%;max-width:75rem}
#img_area{display:inline-block;max-width:100%}
#img_area img{max-width:90%;height:auto;width:auto;display:block}
.admin-tishi{font-size:.8rem;display:block;margin:0}
.xuanke-admin-tishi{text-align:center;margin-bottom:.5rem;color:#e67e22;font-weight:600}
.center_text{text-align:center;margin:1.5rem 0}
/* 提示框 */
.xuanke-warning{padding:.6rem 1rem;margin:.8rem 0;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:.92rem;line-height:1.6}
.xuanke-warning strong{color:#d63031}
.xuanke-info-box{background:#f0f7ff;border:1px solid #b8d8fe;border-radius:8px;padding:1rem 1.2rem;margin:.8rem 0;font-size:.92rem;color:#3a6ba5;line-height:1.8}
.xuanke-info-box strong{color:#1a5fb4}
.xuanke-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#f8f9fb;border-bottom:1px solid #eef0f4}
.xuanke-hint{font-size:.88rem;color:#909399;line-height:1.8;padding:.5rem 1rem;background:#fafbfc;border-radius:6px;margin:.5rem 0}
.xuanke-hint ol{margin:0;padding-left:1.5rem}.xuanke-hint li{margin-bottom:.3rem}
.xuanke-export-row td{padding:.4rem!important;text-align:left!important}
.xuanke-table-actions{text-align:left;padding:.6rem 1rem}
.w-break{word-wrap:break-word;word-break:break-all}

/* 课程表单 & 编辑器 */
.we-label-bar>div:first-child{font-weight:600;color:#444;margin-bottom:.4rem;font-size:.95rem}
.w-e-wrapper{width:100%;border:1px solid #ccc;border-radius:4px;overflow:auto}
/* 修改评选表单：整体满宽，活动说明编辑器独占一行且 100% 宽 */
.px-edit-form{width:100%;max-width:none}
.px-edit-form .px-editor-cell{padding:.8rem .6rem}
.px-edit-form .px-editor-cell .w-e-wrapper{width:100%}
/* 修改评选表单：保存/返回按钮容器居中，按钮放大并横向排列 */
.px-actions-cell{text-align:center;padding:1rem .6rem}
.px-actions-cell .back-button{display:inline-block;min-width:120px;padding:.7rem 2rem;font-size:1.05rem;margin:0 .5rem}
.w-e-wrapper .w-e-toolbar{border-bottom:1px solid #e8e8e8}
/* 始终显示工具栏按钮文字（如图片按钮的"上传图片"） */
.w-e-wrapper .w-e-bar-item button{flex-direction:row;min-width:auto;overflow:visible}
.w-e-wrapper .w-e-bar-item button .title{display:inline!important}
.w-e-wrapper .w-e-scroll{overflow:visible!important}
.w-e-wrapper .w-e-text-container{height:500px;overflow:auto}
.w-e-wrapper .w-e-text-container video{max-width:90vw!important;height:auto!important}
/* 上传附件独立按钮 */
.we-file-upload-btn{
    display:inline-block;margin-top:.4rem;padding:.35rem 1rem;
    border:1px solid #c9d0d8;border-radius:3px;background:#fff;
    color:#333;font-size:.88rem;cursor:pointer;transition:all .15s
}
.we-file-upload-btn:hover{border-color:#999;background:#f7f8fa;color:#000}
.we-file-upload-btn:disabled{opacity:.6;cursor:not-allowed}
.we-file-upload-row{margin-top:.3rem}
.we-file-msg{display:inline-block;margin-left:.6rem;font-size:.82rem;color:#e74c3c;vertical-align:middle}
.w-e-textarea-video-container video{max-width:90vw!important;height:auto!important}
.w-e-textarea-video-container{max-width:90vw!important}
#remark-hidden,#remark-hidden-edit{display:none}



/* 其他 */
.jiesongqu-list{margin:0 auto;line-height:3rem;text-align:center}
.jiesongqu-list .all-table{margin:0 auto}
.mt-1rem{margin-top:1rem}
.zm-list-header{padding:.8rem 1rem;background:#f8f9fb;border-bottom:1px solid #eef0f4}
.zm-list-header h2{font-size:1.15rem;color:#2c3e50;margin:0;text-align:center}
.xuanke-kc-export{font-size:1.1rem;margin-left:2rem;margin-top:.5rem}
.xuanke-kc-export-ol{line-height:2rem}
.xuanke-page-header{text-align:center;padding:1.5rem 0 .5rem 0}
.xuanke-page-header h2{font-size:1.4rem;color:#2c3e50}
.upload-hidden{display:none}
.upload-pic-list{max-width:50rem;margin:1.5rem auto;padding:0 1.5rem}
.upload-pic-list li{margin-bottom:1rem}
.upload-pic-list .all-form-title.standalone{margin-bottom:1.2rem}

/* 页脚返回按钮 */
#footer{width:100%;margin:1.5rem auto;text-align:center;display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap}
.footer-return{width:100%;margin:1.5rem auto;display:flex;justify-content:center;align-items:center;gap:1.2rem;flex-wrap:wrap}
.footer-beian{width:100%;text-align:center}
.ft-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.8rem;font-size:.95rem;font-weight:600;border:none;border-radius:.45rem;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.1);letter-spacing:.02em}
.ft-btn-icon{font-size:1.1rem;line-height:1}
.ft-btn-print{background:#1a5fb4;color:#fff}.ft-btn-print:hover{background:#145294;box-shadow:0 2px 8px rgba(26,95,180,.25);transform:translateY(-1px)}
.ft-btn-print:active{background:#0f3d70;transform:translateY(0)}
.ft-btn-back{background:#f0f2f5;color:#4a5568;border:1px solid #d5dce6}.ft-btn-back:hover{background:#e2e6ed;box-shadow:0 2px 8px rgba(0,0,0,.08);transform:translateY(-1px)}
.ft-btn-back:active{background:#d0d6df;transform:translateY(0)}
.ft-btn-share{background:#2e7d32;color:#fff}.ft-btn-share:hover{background:#256528;box-shadow:0 2px 8px rgba(46,125,50,.25);transform:translateY(-1px)}
.ft-btn-share:active{background:#1c471f;transform:translateY(0)}

/* 接送区管理模块（表格复用 .all-table，以下仅补充状态/图片/提示等少量辅助样式） */
.jsq-img-preview{max-width:64px;max-height:48px;border-radius:4px;border:1px solid #eef0f4;vertical-align:middle}
.jsq-img-preview-wrap{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.4rem}
.jsq-msg{padding:.6rem 1rem;margin:.6rem 0;background:#eafaf0;border:1px solid #b7e4c7;border-radius:6px;color:#1b7a3d;font-size:.92rem}
.jsq-msg-err{background:#fdecea;border-color:#f5c6cb;color:#c0392b}
.jsq-status-on{color:#1b7a3d;font-weight:600}
.jsq-status-off{color:#909399}
.jsq-link-btn{background:none;border:none;color:#1a5fb4;cursor:pointer;padding:0;font-size:inherit;font-family:inherit}
.jsq-link-btn:hover{text-decoration:underline}
.jsq-op a,.jsq-op .jsq-link-btn{margin-right:.6rem}
.jsq-table-scroll{width:100%;overflow-x:auto}
.jsq-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#f8f9fb;border-bottom:1px solid #eef0f4}
.jsq-import-tips{font-size:.9rem;color:#555;line-height:1.9;background:#fafbfc;border:1px solid #eef0f4;border-radius:6px;padding:.8rem 1rem;margin-bottom:1rem}
.jsq-import-tips p{margin:.2rem 0}
.jsq-toolbar select,.jsq-toolbar input{height:32px;padding:0 .5rem;border:1px solid #dcdfe6;border-radius:5px;background:#fff;font-size:.9rem}
.jsq-toolbar .btn{height:32px;line-height:30px;padding:0 1rem}
.jsq-main{padding:0}
.jsq-section{background:#fff;border:1px solid #eef0f4;border-radius:8px;margin-bottom:1rem;overflow:hidden}
.jsq-section-title{font-size:1.05rem;font-weight:600;padding:.7rem 1rem;border-bottom:1px solid #eef0f4;background:#fafbfc;position:relative}
.jsq-section-title .jsq-add{position:absolute;right:1rem;top:50%;transform:translateY(-50%)}
.jsq-card{padding:.8rem 1rem;display:flex;flex-wrap:wrap;gap:1.2rem;align-items:stretch}
.jsq-card h3{width:100%;margin:0 0 .3rem;font-size:1rem}
.jsq-stat-row{display:flex;flex-wrap:wrap;gap:1rem}
.jsq-stat{flex:1;min-width:120px;background:#f8f9fb;border:1px solid #eef0f4;border-radius:8px;padding:.8rem 1rem;text-align:center}
.jsq-stat .num{display:block;font-size:1.6rem;font-weight:700;color:#1a5fb4;line-height:1.2}
.jsq-stat .lbl{display:block;font-size:.85rem;color:#666;margin-top:.2rem}
.jsq-form{max-width:760px;padding:1rem}
.jsq-form li{list-style:none;margin-bottom:.9rem;display:flex;align-items:flex-start}
.jsq-form label{width:7rem;text-align:right;padding-right:1rem;line-height:34px;color:#444;flex:0 0 auto}
.jsq-form input[type=text],.jsq-form select,.jsq-form textarea{width:100%;max-width:520px;height:34px;padding:.3rem .6rem;border:1px solid #dcdfe6;border-radius:5px;font-size:.9rem;box-sizing:border-box}
.jsq-form textarea{min-height:140px;resize:vertical}
.jsq-form .jsq-form-actions{margin-top:.5rem;padding-left:8rem}
.jsq-detail{max-width:860px;padding:1rem}
.jsq-detail dt{font-weight:600;color:#333;padding:.5rem 0 .2rem;border-bottom:1px dashed #eef0f4}
.jsq-detail dd{margin:0 0 1rem;padding:.4rem .2rem;line-height:1.7;color:#444}
.all-table-detail{width:100%}
/* 接送区管理模块 - 头部内联样式外置（符合 CSP，移除 <style> 内联块） */
.jsq-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.jsq-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.jsq-inline-form{display:inline}
.jsq-link-btn{border:none;background:none;color:#337ab7;cursor:pointer;padding:0 .35rem;font-size:inherit}
.jsq-link-btn:hover{text-decoration:underline;color:#286090}
.jsq-img-preview{max-width:80px;max-height:80px;border-radius:4px;border:1px solid #e0e6ed;object-fit:cover}
.jsq-img-preview-wrap{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.5rem}
.jsq-msg{padding:.7rem 1rem;margin:.8rem 0;border-radius:6px;background:#e8f5e9;color:#256029;border:1px solid #c8e6c9}
.jsq-msg-err{background:#fdecea;color:#b71c1c;border-color:#f5c6cb}
.jsq-import-tip{display:block;margin:.4rem 0 1.2rem;line-height:1.8}
.xm-form-inline select{padding:.75rem 1rem;border:1px solid #a8b0ba;border-radius:6px;font-size:1.1rem;background:#fff}
.tea-upload{margin-bottom:.4rem}
.jsq-table-scroll{overflow-x:auto;width:100%}
.jsq-col-check{width:3%;white-space:nowrap}
.all-table-empty{text-align:center;color:#999;padding:1.5rem 0}
.jsq-img-existing{margin-top:.6rem}
.jsq-img-existing .img-area{margin-top:.4rem}
.jsq-img-existing .all-form-cb-label{display:inline-flex;align-items:center;gap:.3rem;margin-top:.5rem;font-size:.9rem;color:#555}
.sitetip{font-size:.85rem;color:#888;margin:.5rem 0 .2rem}
.jsq-img-preview{width:64px;height:64px;object-fit:cover;border-radius:4px;vertical-align:middle}
.all-table-detail th{width:8rem;text-align:right;background:#f0f5fb;white-space:nowrap;vertical-align:top}

/* ========== 学校大事记 sjdm 模块 ========== */
.xuanke-link-btn{cursor:pointer}
.sjdm-flabel{width:8rem;text-align:right;font-weight:700;background:#f0f5fb;white-space:nowrap;vertical-align:top}
.sjdm-textarea{width:100%;min-height:8rem;resize:vertical;border:1px solid #ccc;border-radius:4px;padding:.4rem .6rem;font-size:.9rem;box-sizing:border-box}
.sjdm-textarea:focus{outline:none;border-color:#1a5fb4;box-shadow:0 0 0 2px rgba(26,95,180,.15)}
.sjdm-w10{max-width:10rem}
.sjdm-w12{max-width:12rem}
.sjdm-w18{max-width:18rem}
.sjdm-filter-form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.sjdm-tleft{text-align:left}
.sjdm-empty{text-align:center;color:#999}
.sjdm-year-title{margin:1.2rem 0 .6rem;color:#1a5fb4;border-left:4px solid #1a5fb4;padding-left:.6rem;font-size:1.1rem}
.sjdm-browse-list{list-style:none;padding:0;margin:0}
.sjdm-browse-list li{padding:.6rem .4rem;border-bottom:1px dashed #e0e6ed}
.sjdm-content{line-height:1.9;white-space:normal;color:#333;word-break:break-word}
.sjdm-content p{margin:0 0 .6rem}
.sjdm-content img{max-width:100%;height:auto;border-radius:6px}
.sjdm-content a{color:#1a5fb4}
.sjdm-mt{margin-top:1rem}
.sjdm-date{display:inline-block;color:#1a5fb4;font-weight:600;text-decoration:none}
.sjdm-btitle{color:#333;text-decoration:none;margin-left:.6rem}
.sjdm-flash-ok{padding:.6rem 1rem;margin-bottom:.8rem;background:#eaf7ea;color:#27ae60;border:1px solid #b7e4b7;border-radius:6px;font-size:.9rem;text-align:center}
.sjdm-flash-err{padding:.6rem 1rem;margin-bottom:.8rem;background:#fde8e8;color:#e74c3c;border:1px solid #f5c6c6;border-radius:6px;font-size:.9rem;text-align:center}

/* 时间选择器 */
.ui-timepicker-div .ui-widget-header{margin-bottom:8px}
.ui-timepicker-div dl{text-align:left}
.ui-timepicker-div dl dt{height:25px;margin-bottom:-25px}
.ui-timepicker-div dl dd{margin:0 10px 10px 65px}
.ui-timepicker-div td{font-size:90%}
.dtp-wrapper{position:relative;display:inline-block}
.dtp-popup{display:none;position:fixed;z-index:99999;background:#fff;border:1px solid #ddd;border-radius:10px;padding:12px;box-shadow:0 8px 28px rgba(0,0,0,.18);width:300px;box-sizing:border-box;font-size:13px;color:#333}
.dtp-popup.show{display:block}
.dtp-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;user-select:none}
.dtp-cal-header .dtp-nav-left,.dtp-cal-header .dtp-nav-right{display:flex;gap:4px}
.dtp-cal-header button{border:1px solid #e0e0e0;background:#fff;cursor:pointer;padding:0;border-radius:6px;font-size:15px;line-height:1;width:28px;height:28px;text-align:center;color:#555}
.dtp-cal-header button:hover{background:#f0f5ff;border-color:#b8d4ff;color:#1a73e8}
.dtp-cal-header .dtp-month-label{font-weight:700;font-size:15px;text-align:center;color:#222;flex:1}
.dtp-cal-table{width:100%;border-collapse:collapse;border-spacing:0;table-layout:fixed;margin-bottom:8px}
.dtp-cal-table th{text-align:center;padding:4px 0;font-size:12px;color:#999;font-weight:400}
.dtp-cal-table td{text-align:center;padding:2px 0}
.dtp-cal-table td span{display:block;width:28px;height:28px;line-height:28px;margin:0 auto;cursor:pointer;border-radius:50%;font-size:12px;transition:background .15s,color .15s}
.dtp-cal-table td span:hover{background:#e8f0fe}
.dtp-cal-table td span.dtp-today{color:#1a73e8;border:1px solid #1a73e8;line-height:26px}
.dtp-cal-table td span.dtp-selected{background:#1a73e8;color:#fff;border-color:#1a73e8}
.dtp-cal-table td span.dtp-other{color:#bbb}
.dtp-cal-table td span.dtp-other:hover{background:#f5f5f5}
.dtp-time-row{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #f0f0f0}
.dtp-time-row label{color:#666;font-size:13px;margin-right:4px}
.dtp-time-row select{padding:5px 6px;border:1px solid #ddd;border-radius:6px;font-size:13px;background:#fff;cursor:pointer;min-width:48px}
.dtp-time-row .dtp-sep{color:#999;font-size:14px;padding:0 2px}
.dtp-btn-row{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}
.dtp-btn-row button{padding:6px 16px;border-radius:6px;cursor:pointer;font-size:13px;border:1px solid #ddd;background:#fff;transition:background .15s,border-color .15s}
.dtp-btn-row button:hover{background:#f5f5f5}
.dtp-btn-row .dtp-btn-ok{background:#1a73e8;color:#fff;border-color:#1a73e8}
.dtp-btn-row .dtp-btn-ok:hover{background:#1557b0;border-color:#1557b0}
.dtp-btn-row .dtp-btn-now{color:#1a73e8;border-color:transparent;background:transparent;margin-right:auto;padding-left:8px}
.dtp-btn-row .dtp-btn-now:hover{background:#e8f0fe}

/* ===== 场所模块 changsuo 表单（复用 .all-table 布局，符合 CSP） ===== */
/* 表单整体最大宽度，移动端 100% */
.cs-apply-form .all-table,
.cs-form .all-table{max-width:75rem;margin:0 auto}
@media (max-width:75rem){
  .cs-apply-form .all-table,
  .cs-form .all-table{max-width:100%}
}
/* 表单标签列：左对齐、浅色底，区别于数据表蓝色表头 */
.cs-apply-form .all-table th,
.cs-form .all-table th{width:9rem;padding:.95rem 1.1rem;background:#eef4fb;color:#1f3a5f;font-weight:600;text-align:left;white-space:nowrap;vertical-align:middle;border-bottom:1px solid #e2e8f0}
.cs-apply-form .all-table td,
.cs-form .all-table td{padding:.95rem 1.1rem;vertical-align:middle;border-bottom:1px solid #eef2f6}
.cs-apply-form .all-table tr:last-child th,
.cs-apply-form .all-table tr:last-child td,
.cs-form .all-table tr:last-child th,
.cs-form .all-table tr:last-child td{border-bottom:none}
/* 取消数据表在表单上的斑马纹与点击态，仅保留轻微的悬停提示 */
.cs-apply-form .all-table tbody tr:nth-child(even) td,
.cs-form .all-table tbody tr:nth-child(even) td{background:transparent}
.cs-apply-form .all-table tbody tr:hover td,
.cs-form .all-table tbody tr:hover td{background:#f8fbff}

/* 场所管理工具栏：搜索框与分类下拉（更大方的外观） */
.cs-search-input{height:2.4rem;padding:.45rem 1rem;font-size:.95rem;color:#2c3e50;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;min-width:15rem;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:border-color .15s,box-shadow .15s;box-sizing:border-box;}
.cs-search-input::placeholder{color:#9aa7b4;}
.cs-search-input:hover{border-color:#a8b8c8;}
.cs-search-input:focus{outline:none;border-color:#1a5fb4;box-shadow:0 0 0 3px rgba(26,95,180,.15);}
.cs-form select.cs-search-input{cursor:pointer;padding-right:2.2rem;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;}

/* 可排序表头右侧小三角形（编号/名称/分类/负责人/是否一体机） */
.cs-sort{position:relative;display:inline-block;padding-right:1rem;}
.cs-sort::after{content:"";position:absolute;right:.05rem;top:50%;transform:translateY(-50%);width:0;height:0;border-left:.28rem solid transparent;border-right:.28rem solid transparent;border-top:.32rem solid #9aa7b4;opacity:.7;}
/* 升序：向上三角（蓝） */
.cs-sort.cs-sort-asc::after{border-top:none;border-bottom:.32rem solid #1a5fb4;opacity:1;}
/* 降序：向下三角（蓝） */
.cs-sort.cs-sort-desc::after{border-top:.32rem solid #1a5fb4;border-bottom:none;opacity:1;}

/* 座位添加：单个 / 批量 切换标签 */
.cs-tab-nav{display:flex;gap:.4rem;margin:.3rem 0 1.3rem;border-bottom:1px solid #e2e8f0;}
.cs-tab-nav .cs-tab{padding:.6rem 1.15rem;font-size:.95rem;color:#475569;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;}
.cs-tab-nav .cs-tab:hover{color:#1a5fb4;}
.cs-tab-nav .cs-tab.active{color:#1a5fb4;font-weight:600;border-bottom-color:#1a5fb4;}
.cs-squse-bh{font-size:.78rem;font-weight:400;color:#94a3b8;margin-left:.35rem;}

/* 座位排列图：按"排"分组，默认 10 列，平板/手机 5 列 */
.cs-seat-layout{margin:.9rem 0 1.3rem;}
.cs-seat-row{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:1.8rem;}
.cs-seat-row-label{flex:0 0 auto;width:3rem;padding-top:.5rem;font-weight:600;color:#1f3a5f;text-align:right;}
.cs-seat-grid{display:grid;grid-template-columns:repeat(10, 1fr);gap:.6rem;flex:1 1 auto;}
@media (max-width:1024px){
  .cs-seat-grid{grid-template-columns:repeat(5, 1fr);}
}
.cs-seat{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:3.4rem;padding:.5rem .4rem;border:1px solid #cdd7e2;border-radius:.5rem;background:#f8fafc;transition:border-color .15s,box-shadow .15s;}
.cs-seat:hover{border-color:#1a5fb4;box-shadow:0 0 0 3px rgba(26,95,180,.12);}
.cs-seat-bh{font-size:.95rem;color:#2c3e50;word-break:break-all;text-align:center;}
.cs-seat-ops{display:none;gap:.4rem;margin-top:.3rem;font-size:.8rem;}
.cs-seat:hover .cs-seat-ops{display:flex;}
.cs-seat-bad{border-color:#e7a9a9;background:#fdecec;}
.cs-seat-bad .cs-seat-bh{color:#c0392b;}
.cs-seat-bad::before{content:"故障";position:absolute;top:.15rem;right:.3rem;font-size:.65rem;color:#c0392b;}

/* 场所模块表格：左/右/底边 1px 线（参考 guestbook 的简洁边框），与全局 2px 区分 */
.cs-page .all-table{border-top:none;border-left:1px solid #6c757d;border-right:1px solid #6c757d;border-bottom:1px solid #6c757d}
/* 必填星号 */
.cs-apply-form .all-table th.required::after,
.cs-form .all-table th.required::after{content:" *";color:#e74c3c}
/* 表单控件 */
.cs-apply-form input[type=text],.cs-apply-form input[type=number],.cs-apply-form textarea,.cs-apply-form select,
.cs-form input[type=text],.cs-form input[type=number],.cs-form textarea,.cs-form select{max-width:34rem;width:100%;padding:.7rem .9rem;font-size:1rem;border:1px solid #cbd5e1;border-radius:.4rem;line-height:1.5;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}
.cs-apply-form input[type=text]:focus,.cs-apply-form input[type=number]:focus,.cs-apply-form textarea:focus,.cs-apply-form select:focus,
.cs-form input[type=text]:focus,.cs-form input[type=number]:focus,.cs-form textarea:focus,.cs-form select:focus{outline:none;border-color:#1a5fb4;box-shadow:0 0 0 3px rgba(26,95,180,.15)}
.cs-apply-form textarea,
.cs-form textarea{resize:vertical;min-height:6rem}
/* 必填标记（通用） */
.required{color:#e74c3c;margin-left:.2rem}

/* ===== 仪表盘 (Dashboard) ===== */
.dashboard{display:flex;flex-direction:column;gap:20px}
.dash-welcome h2{font-size:1.5rem;color:#1a5fb4;margin-bottom:4px}
.dash-subtitle{color:#888;font-size:.9rem}
.dash-cards{display:flex;flex-wrap:wrap;gap:14px}
.dash-card{flex:1;min-width:140px;background:#fff;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.06);padding:20px 16px;text-align:center;transition:transform .2s,box-shadow .2s}
.dash-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.1)}
.dash-card-num{font-size:2rem;font-weight:700;color:#1a5fb4;line-height:1.2}
.dash-card-label{font-size:.85rem;color:#888;margin-top:6px}
.dash-actions{display:flex;gap:10px;flex-wrap:wrap}
.dash-action-btn{padding:10px 22px;border-radius:6px;font-size:.95rem;text-decoration:none;display:inline-block;transition:all .2s}
.dash-btn-primary,.dash-btn-primary:link,.dash-btn-primary:visited{background:#1a5fb4;color:#fff!important;border:1px solid #1a5fb4}
.dash-btn-primary:hover{background:#1553a0;color:#fff!important;box-shadow:0 4px 12px rgba(26,95,180,.3);transform:translateY(-1px)}
.dash-btn-secondary{background:#fff;color:#1a5fb4;border:1px solid #1a5fb4}
.dash-btn-secondary:hover{background:#e8f0fe;box-shadow:0 4px 12px rgba(26,95,180,.15);transform:translateY(-1px)}
.dash-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.06);padding:20px}
.dash-section-title{color:#1a5fb4;font-size:1.05rem;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #eee}
.dash-table-wrap{overflow-x:auto}
.dash-table{width:100%;border-collapse:collapse;font-size:.9rem}
.dash-table th{background:#f5f7fa;color:#555;font-weight:600;text-align:left;padding:10px 12px;border-bottom:2px solid #e0e6ed;white-space:nowrap}
.dash-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;color:#333}
.dash-table tbody tr:hover{background:#f9fafb}
.dash-bar-wrap{display:flex;align-items:center;gap:8px}
.dash-bar{height:8px;background:linear-gradient(90deg,#1a5fb4,#5ba0e0);border-radius:4px;min-width:2px;transition:width .4s}
.dash-bar-pct{font-size:.8rem;color:#888;white-space:nowrap}
.dash-note{margin-top:10px;font-size:.85rem;color:#666}
.dash-empty{text-align:center;padding:30px;color:#999}
.dash-empty a{color:#1a5fb4}
.dash-link{color:#1a5fb4;font-weight:500}
.dash-link:hover{text-decoration:underline;color:#973121}

/* ===== 搜索栏 ===== */
.we-search-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center}
.we-search-input{padding:8px 14px;border:1px solid #d0d6de;border-radius:6px;font-size:.9rem;min-width:200px;outline:none;transition:border-color .2s}
.we-search-input:focus{border-color:#1a5fb4;box-shadow:0 0 0 2px rgba(26,95,180,.1)}
.we-search-select{padding:8px 12px;border:1px solid #d0d6de;border-radius:6px;font-size:.9rem;outline:none}
.we-search-select:focus{border-color:#1a5fb4}
.we-search-btn{padding:8px 20px;background:#1a5fb4;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s,transform .1s}
a.we-search-btn{color:#fff;text-decoration:none}
.we-search-btn:hover{background:#1553a0;transform:translateY(-1px)}
/* ===== 分页 ===== */
.we-pagination{display:flex;align-items:center;gap:6px;margin-top:18px;flex-wrap:wrap;justify-content:center}
.we-pagination a.we-page-num,.we-pagination a.we-page-prev,.we-pagination a.we-page-next{padding:6px 14px;border:1px solid #d0d6de;border-radius:5px;font-size:.88rem;text-decoration:none;color:#1a5fb4;background:#fff;transition:all .2s}
.we-pagination a.we-page-num:hover,.we-pagination a.we-page-prev:hover,.we-pagination a.we-page-next:hover{background:#e8f0fe;border-color:#1a5fb4}
.we-pagination a.we-page-active{background:#1a5fb4;color:#fff;font-weight:600;border-color:#1a5fb4}
.we-pagination .we-page-dots{padding:6px 4px;color:#aaa;font-size:.85rem}
.we-pagination .we-page-info{font-size:.85rem;color:#888;margin-left:8px}

/* ===== 打印样式 ===== */
@media print{body{background:#fff;color:#000;font-size:14px}#footer,.btn-back,.no-print{display:none!important}a{color:#000;text-decoration:none}table{border-collapse:collapse}img{max-width:100%!important}table,.all-card{page-break-inside:avoid}}

/* ===== 响应式 ===== */
@media (max-width:1200px){.main-content{padding:.01rem;margin:.2rem}.nav-links{gap:10px}.nav-link{min-width:130px;padding:9px 16px;font-size:14px}}
@media (max-width:992px){.nav-links{gap:8px}.nav-link{min-width:120px;padding:8px 14px;font-size:13px}}
@media (max-width:768px){.nav-links{gap:6px;padding:8px 10px}.nav-link{min-width:100px;padding:7px 12px;font-size:12px}}
@media (max-width:768px){
.pagination{flex-direction:column;gap:10px}.page-jump{margin-left:0;margin-top:10px}
.top-bar{flex-direction:column;align-items:flex-start;gap:10px}
.nav-links{flex-direction:row;gap:5px}
.all-card-header{padding:1rem}.all-card-title-lg{font-size:1.1rem}
.all-card-body{padding:.5rem}
.xm-detail-body,.kc-detail-grid{grid-template-columns:1fr}
.center_98{padding:14px 10px;margin:10px auto}
.search_form{padding:10px}
.edit_form li{flex-direction:column;gap:4px}
.edit_form li .span{flex:none;padding-top:0}
.input_t{width:100%}
.table_list{font-size:13px}
.table_list th,.table_list td{padding:8px 6px}
.tongyong_ol_ul_1 .a{display:inline-block;margin-bottom:6px}
}

/* ===== 统一登录后：顶部用户信息栏 ===== */
.top-bar-user{background:linear-gradient(135deg,#1a5fb4,#2574cf);color:#fff;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;box-shadow:0 2px 10px rgba(0,0,100,.2)}
.user-info-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.website-name{font-size:20px;font-weight:700;letter-spacing:1px}
.user-welcome{font-size:14px;color:#e8f0ff}
.user-welcome strong{color:#fff}
.role-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;margin-left:4px}
.role-teacher{background:#f39c12;color:#fff}
.role-parent{background:#2ecc71;color:#fff}
.role-student{background:#3498db;color:#fff}
.bind-hint{color:#c8e0ff;font-size:12px;font-weight:normal;margin-left:6px;opacity:.85}

/* 角色切换器 */
.role-switcher{display:inline-flex;align-items:center;gap:6px;font-size:13px}
.role-switcher .switch-label{color:#c8e0ff;white-space:nowrap}
/* 家长视角子女切换按钮：不论是否访问过都蓝底白字，悬停白底蓝字 */
.switch-link,.switch-link:link,.switch-link:visited{color:#fff;text-decoration:none;padding:2px 10px;border:1px solid #1a5fb4;border-radius:14px;font-size:12px;transition:all .2s;white-space:nowrap;background-color:#1a5fb4}
.switch-link:hover{background-color:#fff;color:#1a5fb4;border-color:#1a5fb4}
.switch-link.switch-back{background-color:#1a5fb4;color:#fff;border-color:#1a5fb4}
.switch-link.switch-back:hover{background-color:#fff;color:#1a5fb4;border-color:#1a5fb4}

/* 用户右侧链接 */
.user-info-right{display:flex;align-items:center;gap:12px}
.top-link{color:#e8f0ff;text-decoration:none;font-size:14px;padding:4px 10px;border-radius:4px;transition:all .2s}
.top-link:hover{background:rgba(255,255,255,.15);color:#fff;text-decoration:underline}

/* ===== 学生导航 ===== */
.student-nav{display:flex;flex-wrap:wrap;gap:4px;padding:8px 15px;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.08)}
.student-nav .nav-item{display:inline-block;padding:8px 16px;background:#fff;color:#333;text-decoration:none;border-radius:4px;font-size:14px;border:1px solid #ccc;transition:all .3s}
.student-nav .nav-item:hover{background:#f0f5fb;border-color:#1a5fb4;color:#1a5fb4}
.student-nav .nav-item.active{background:#1a5fb4;color:#fff;border-color:#1a5fb4}

/* ===== 手机端顶部栏：保留蓝底，文字保持白字（不再改为黑字） ===== */

/* ===== Dashboard 通用 ===== */
.teacher-dashboard,.student-dashboard,.parent-dashboard{padding:30px;background:#fff;border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,.06);margin:20px 0}
.teacher-dashboard h2,.student-dashboard h2,.parent-dashboard h2{color:#1a5fb4;font-size:1.4rem;margin-bottom:12px}
.teacher-dashboard p,.student-dashboard p,.parent-dashboard p{color:#666;font-size:1rem;line-height:1.6}

/* ===== 底部栏 ===== */
.footer-bar{text-align:center;padding:12px 0;color:#999;font-size:13px;margin-top:24px;border-top:1px solid #eef0f4}

/* ===== 主内容区调整 ===== */
#main-content{flex:1;padding:2px;margin:0 auto;width:100%}

/* ===== 对外发布文章管理 (article) ===== */
.hidden{display:none!important}
.w40{width:40px}.w50{width:50px}.w60{width:60px}.w70{width:70px}.w80{width:80px}.w90{width:90px}.w100{width:100px}.w120{width:120px}.w150{width:150px}.w160{width:160px}.w180{width:180px}.w200{width:200px}.w220{width:220px}.w260{width:260px}.w300{width:300px}

/* 顶部栏 */
.article-page .top-bar{background:linear-gradient(135deg,#1a5fb4,#2574cf);color:#fff;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;box-shadow:0 2px 10px rgba(0,0,100,.2)}
.article-page .top-bar .system-name,.article-page .top-bar .site-title{font-size:18px;font-weight:700}
.article-page .top-bar .user-info{display:flex;align-items:center;gap:10px;font-size:14px}
.article-page .top-bar .user-info a{color:#fff;text-decoration:none;padding:4px 8px;border-radius:4px;transition:background .2s}
.article-page .top-bar .user-info a:hover{background:rgba(255,255,255,.15)}

.article-main{max-width:90%;margin:0 auto;padding:20px}
/* view.php 详情页容器放宽到 75rem，使 .article-view 能占满 75rem */
.article-page.page-view .article-main{max-width:75rem}
.article-title{margin:0 0 18px;font-size:1.35rem;color:#2c3e50;font-weight:700}
.article-page-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.article-page-title h1,.article-page-title h2{margin:0;font-size:1.25rem;color:#2c3e50;font-weight:700}

/* 顶部导航 */
.article-nav-container{background:#fff;border-bottom:1px solid #e0e6ed;padding:0;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.article-nav-inner{display:flex;gap:8px;flex-wrap:wrap;padding:10px 20px}
.article-nav-inner .nav-link{display:inline-block;padding:8px 18px;border:1px solid #d0d6de;border-radius:6px;color:#34495e;text-decoration:none;font-size:.92rem;background:#fff;transition:all .2s}
.article-nav-inner .nav-link:hover,.article-nav-inner .nav-link.active{background:#1a5fb4;color:#fff;border-color:#1a5fb4}

/* 通用面板 */
.article-panel,.article-main .panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:18px 20px;margin-bottom:20px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.article-main .panel:first-child{margin-top:0}
.article-panel-title,.article-main .panel-title{font-size:1.05rem;font-weight:700;color:#2c3e50;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #eef0f4;display:flex;align-items:center;gap:8px}

/* 页面头部 */
.article-main .page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #e8ecf1}
.article-main .page-header h1,.article-main .page-header h2{margin:0;font-size:1.35rem;color:#2c3e50;font-weight:700}
.article-main .page-actions{text-align: center;}
/* 底部返回按钮：居中显示 */
.article-bottom-actions{display:flex;justify-content:center;align-items:center;text-align:center;margin-top:24px;padding-top:18px;border-top:1px solid #e8ecf1}

/* 文章列表批量操作栏（仅管理员显示） */
.article-main #batch-form{margin:0 0 12px}
.article-main .batch-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;background:#f7f9fc;border:1px solid #e3e8ee;border-radius:8px}
.article-main .batch-bar .btn{margin:0}
.article-main .we-table td.ac,.article-main .we-table th.ac{text-align:center;vertical-align:middle}

/* 文章状态徽章（回收站） */
.article-main .status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.74rem;line-height:1.6}
.article-main .status-recycle{background:#fde8e8;color:#c0392b;border:1px solid #f5c6c6}
.article-main .link-danger{color:#c0392b}
.article-main .link-danger:hover{text-decoration:underline}
.article-main .page-actions .btn{padding:7px 18px;font-size:.9rem}

/* 统计卡 */
.article-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
@media (max-width:1199px){.article-stats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.article-stats{grid-template-columns:repeat(2,1fr)}}
.article-stat-card{background:linear-gradient(135deg,#fff,#f7fafc);border:1px solid #e2e8f0;border-radius:10px;padding:16px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:transform .2s}
.article-stat-card:hover{transform:translateY(-2px)}
.article-stat-num{font-size:1.8rem;font-weight:700;color:#1a5fb4;line-height:1}
.article-stat-label{font-size:.85rem;color:#8898aa;margin-top:6px}

/* ===== 缩略图（封面）候选管理 ===== */
.thumb-actions{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.thumb-tip{font-size:.8rem;color:#8898aa}
.thumb-list{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.thumb-item{min-width:96px;max-width:120px;max-height:120px;border:2px solid #e2e8f0;border-radius:8px;overflow:hidden;cursor:pointer;background:#f7fafc;transition:border-color .15s,transform .15s;position:relative;display:flex;align-items:center;justify-content:center;padding:4px}
.thumb-item img{max-width:100%;max-height:96px;object-fit:contain;display:block}
.thumb-item:hover{border-color:#1a5fb4;transform:translateY(-1px)}
.thumb-item.thumb-selected{border-color:#0b7285;box-shadow:0 0 0 2px rgba(11,114,133,.25)}
.thumb-item.thumb-selected::after{content:"✓";position:absolute;top:4px;right:4px;width:18px;height:18px;line-height:18px;text-align:center;background:#0b7285;color:#fff;border-radius:50%;font-size:12px}
.btn-sm{padding:.35rem .8rem;font-size:.82rem}
.kc-hide{display:none !important}

/* 操作栏 */
.article-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.article-actions .btn{margin:0}

/* 筛选条 */
.article-filter,.we-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px;padding:16px;background:#f8fafc;border:1px solid #e8ecf1;border-radius:8px}
.article-filter .filter-group,.we-filter .filter-group{display:flex;flex-direction:column;gap:5px}
.article-filter .filter-label,.we-filter .filter-label{font-size:.85rem;color:#5a6c7d;font-weight:500}
.article-filter .filter-select,.article-filter .filter-input,.we-filter .filter-select,.we-filter .filter-input{padding:8px 12px;border:1px solid #d0d6de;border-radius:6px;font-size:.9rem;outline:none;background:#fff;min-width:120px}
.article-filter .filter-select:focus,.article-filter .filter-input:focus,.we-filter .filter-select:focus,.we-filter .filter-input:focus{border-color:#1a5fb4;box-shadow:0 0 0 3px rgba(26,95,180,.1)}
.article-filter .filter-input,.we-filter .filter-input{min-width:180px}

/* 美化 select 下拉框 */
.article-filter .filter-select,.we-filter .filter-select{
    min-width:150px;
    padding-right:34px;
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%23666' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 10px center;
    background-size:14px;
    cursor:pointer;
    transition:border-color .2s,box-shadow .2s
}
.article-filter .filter-select:hover,.we-filter .filter-select:hover{border-color:#a0aec0}

/* 按钮（限定在对外发布模块内，避免覆盖全局 .btn） */
.article-main .btn{display:inline-block;padding:8px 18px;border-radius:6px;font-size:.9rem;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:all .2s;line-height:1.5;background:#e2e8f0;color:#34495e}
.article-main .btn:hover{opacity:.92;transform:translateY(-1px)}
.article-main .btn-primary{background:#1a5fb4;color:#fff;border-color:#1a5fb4}
.article-main .btn-primary:hover{background:#1553a0}
.article-main .btn-success{background:#27ae60;color:#fff;border-color:#27ae60}
.article-main .btn-success:hover{background:#219150}
.article-main .btn-danger{background:#e74c3c;color:#fff;border-color:#e74c3c}
.article-main .btn-danger:hover{background:#c0392b}
.article-main .btn-sm{padding:5px 12px;font-size:.82rem}

/* 表单 */
.we-form .form-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.we-form .form-label{min-width:110px;width:110px;text-align:right;padding-top:10px;font-size:.95rem;color:#4a5568;font-weight:600}
.we-form .form-control{width:100%;max-width:760px;padding:0;border:none;background:transparent}
.we-form .form-control .input-text,
.we-form .form-control .input-select,
.we-form .form-control .input-textarea{width:100%;max-width:760px;padding:10px 14px;border:1px solid #d0d6de;border-radius:8px;font-size:.95rem;color:#2d3748;background:#fff;box-sizing:border-box;outline:none;transition:border-color .2s,box-shadow .2s}
.we-form .form-control .input-text:focus,
.we-form .form-control .input-select:focus,
.we-form .form-control .input-textarea:focus{border-color:#1a5fb4;box-shadow:0 0 0 3px rgba(26,95,180,.12)}
.we-form .form-control .input-text::placeholder,
.we-form .form-control .input-textarea::placeholder{color:#a0aec0}
.we-form .form-control .input-textarea{min-height:110px;resize:vertical;line-height:1.6}
.we-form .form-control .input-select{max-width:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%23666' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 12px center;background-size:14px}
.we-form .form-control .form-hint{font-size:.85rem;color:#8898aa;margin-top:6px;display:block}
.we-form .form-control.form-inline{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding-top:8px}
.we-form .form-control.form-inline .checkbox{display:inline-flex;align-items:center;gap:6px;font-size:.95rem;color:#4a5568;cursor:pointer}
.we-form .form-control.form-inline .checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#1a5fb4;margin:0}
.we-form .form-actions{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:26px;padding-top:18px;border-top:1px solid #e8ecf1}
.we-form .form-actions .btn{padding:10px 32px;font-size:1rem}
.we-form .req{color:#e74c3c;margin-left:2px}

/* wangEditor 在表单中的适配 */
.we-form .we-label-bar{display:block;width:100%;max-width:760px}
.we-form .we-label-bar > div:first-child:empty{display:none}
.we-form .we-label-bar > div:first-child{font-weight:600;color:#4a5568;margin-bottom:8px;font-size:.95rem}
.we-form .w-e-wrapper{border:1px solid #d0d6de;border-radius:8px;overflow:hidden;background:#fff}
.we-form .w-e-toolbar{border-bottom:1px solid #e8ecf1;background:#f8fafc}
.we-form .w-e-editor{min-height:360px;background:#fff}

/* 横向内联表单（分类/专题管理顶部小表单） */
.we-form-inline .form-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
.we-form-inline .form-label{min-width:auto;width:auto;text-align:left;padding-top:0;margin-right:4px;font-size:.9rem}
.we-form-inline .form-control{width:auto;min-width:140px;max-width:240px;padding:7px 10px}
.we-form-inline select.form-control{max-width:180px}
.we-form-inline .form-actions{display:inline-flex;margin:0;padding:0;border:none}
.we-form-inline .form-actions .btn{padding:7px 16px;font-size:.88rem}

/* 表格：加宽容器，避免操作列换行 */
.article-main .article-table,.article-main .we-table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff;table-layout:auto}
.article-main .article-table th,.article-main .we-table th{background:#f5f7fa;color:#4a5568;font-weight:600;padding:11px 12px;border-bottom:2px solid #e2e8f0;text-align:left;white-space:nowrap}
.article-main .article-table td,.article-main .we-table td{padding:10px 12px;border-bottom:1px solid #edf2f7;color:#2d3748;vertical-align:middle}
.article-main .article-table tbody tr:hover,.article-main .we-table tbody tr:hover{background:#f8fafc}
.article-main .article-table .we-empty,.article-main .we-table .we-empty{text-align:center;padding:28px;color:#a0aec0}

/* 状态标签 */
.article-main .status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.78rem;font-weight:600;white-space:nowrap}
.article-main .status-pending{background:#fff3cd;color:#856404}
.article-main .status-approved{background:#d4edda;color:#155724}
.article-main .status-rejected{background:#f8d7da;color:#721c24}
.article-main .status-toutiao{background:#e74c3c;color:#fff}
.article-main .status-yaowen{background:#f39c12;color:#fff}
.article-main .status-tuijian{background:#3498db;color:#fff}

/* 操作链接：强制不换行，操作列固定较窄宽度 */
.article-main .row-actions{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;white-space:nowrap}
.article-main .row-actions a,.article-main .row-actions .btn{padding:4px 10px;font-size:.82rem;white-space:nowrap}
.article-main .we-table th.w-actions,.article-main .we-table td.w-actions,
.article-main .article-table th.w-actions,.article-main .article-table td.w-actions{width:180px;min-width:180px;white-space:nowrap}
/* 标题列占剩余宽度，自动加宽 */
.article-main .we-table th.w-title,.article-main .we-table td.w-title,
.article-main .article-table th.w-title,.article-main .article-table td.w-title{width:auto;min-width:240px}

/* 操作链接：编辑与删除放在同一行，不换行 */
.article-main .row-actions{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;white-space:nowrap}
.article-main .row-actions a,.article-main .row-actions .btn{padding:4px 10px;font-size:.82rem;white-space:nowrap}

/* 分页（兼容 page 类） */
.article-main .article-pagination,.article-main .page{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:18px;flex-wrap:wrap}
.article-main .article-pagination a,.article-main .page a{padding:6px 12px;border:1px solid #d0d6de;border-radius:5px;color:#1a5fb4;text-decoration:none;font-size:.88rem;background:#fff;transition:all .2s}
.article-main .article-pagination a:hover,.article-main .page a:hover{background:#e8f0fe;border-color:#1a5fb4}
.article-main .article-pagination .current,.article-main .page .current{padding:6px 12px;background:#1a5fb4;color:#fff;border:1px solid #1a5fb4;border-radius:5px;font-size:.88rem}
.article-main .article-pagination span,.article-main .page span{padding:6px 4px;color:#a0aec0;font-size:.88rem}

/* 树形缩进 */
.article-tree-level-1{padding-left:0}
.article-tree-level-2{padding-left:22px}
.article-tree-level-3{padding-left:44px}

/* 详情页 */
.article-view-header{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid #eef0f4}
.article-view-header h1{font-size:1.5rem;color:#2c3e50;margin:0 0 8px}
.article-view-meta{color:#8898aa;font-size:.88rem;display:flex;gap:16px;flex-wrap:wrap}
.article-view-body{line-height:1.8;color:#2d3748;font-size:1rem}
.article-view-body img{max-width:100%;height:auto;border-radius:6px;margin:8px 0}

/* 响应式 */
@media (max-width:768px){
.article-form,.we-form .form-label{width:100%;text-align:left;padding-top:0}
.article-form,.we-form .form-control{max-width:100%}
.article-filter .filter-input{min-width:100%}
.article-main .article-table th,.article-main .article-table td,.article-main .we-table th,.article-main .we-table td{padding:8px 6px;font-size:.85rem}
.article-main .row-actions a,.article-main .row-actions .btn{padding:3px 8px;font-size:.78rem}
}

/* ===== 部门管理 ===== */
.bumen-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.bumen-toolbar-left{display:flex;gap:.5rem;flex-wrap:wrap}
.bumen-toolbar-right{display:flex;gap:.5rem;flex-wrap:wrap}
.bumen-btn-sm{padding:.3rem .75rem;font-size:.8rem;border:1px solid #a8b0ba;border-radius:4px;background:#fff;color:#333;cursor:pointer;transition:all .2s}
.bumen-btn-sm:hover{background:#eef4fb;border-color:#1a5fb4;color:#1a5fb4}
.bumen-btn-danger{color:#e74c3c;border-color:#e74c3c}
.bumen-btn-danger:hover{background:#fde8e8;color:#c0392b;border-color:#c0392b}
.bumen-action-cell{white-space:nowrap;font-size:.85rem}
.bumen-action-cell a{display:inline-block;padding:.15rem .45rem;color:#337ab7;text-decoration:none;border-radius:3px;transition:all .2s}
.bumen-action-cell a:hover{background:#e6f0ff;color:#1a5fb4}

/* ===== 大事记 dashiji ===== */
.dashiji-content{line-height:1.9;font-size:1rem;color:#222;word-break:break-word}
.dashiji-content img{max-width:100%;height:auto;border-radius:6px}
.dashiji-meta{color:#888;font-size:.85rem;margin:.3rem 0 1rem}
.dashiji-meta span{margin-right:1rem}
.dashiji-thumb{width:96px;height:96px;object-fit:cover;border-radius:4px;vertical-align:middle}
.dashiji-flash{text-align:center;padding:.6rem 1rem;margin-bottom:1rem;border-radius:6px}
.dashiji-flash-ok{background:#eaf7ea;color:#27ae60;border:1px solid #b7e4b7}
.dashiji-flash-err{background:#fde8e8;color:#e74c3c;border:1px solid #f5c6c6}
.dashiji-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem}
.dashiji-search-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.8rem;margin-bottom:1rem}
.dashiji-search-bar .search-label{min-width:auto;margin-right:.2rem}
.dashiji-search-bar .search-input{width:auto}
.dashiji-audit-opt{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.7rem 1rem;background:#f8f9fb;border-radius:6px;border:1px solid #eef0f4}
.dashiji-stat{color:#666;font-size:.9rem;margin-bottom:.6rem}

/* ===== 索引页 suoyin ===== */
.suoyin-url{display:block;max-width:24rem;word-break:break-all;color:#8a94a6;font-size:.78rem;line-height:1.35}
.suoyin-url:hover{color:#1a5fb4}
.suoyin-link-name{color:#1a5fb4;font-weight:600;text-decoration:none;transition:color .2s}
.suoyin-link-name:hover{color:#e74c3c;text-decoration:underline}
.suoyin-batchbar{margin:.8rem 0 0;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}

/* 表格列宽与对齐（替代被 CSP 拦截的内联 style） */
.suoyin-th-check{width:2.5rem;text-align:center}
.suoyin-th-sort{width:4rem;text-align:center}
.suoyin-th-op{width:7rem;text-align:center}
.suoyin-td-center{text-align:center}
.suoyin-form{max-width:680px}
.suoyin-input-w10{width:10rem}
.suoyin-row-top{align-items:flex-start}
.suoyin-note{padding:0;border:none;background:none}
.suoyin-row-check{display:inline-flex;align-items:center;gap:.4rem;padding-top:.5rem}

/* 索引页：按类别分组 + 友情链接样式（名称方块） */
.suoyin-groups{margin-top:.4rem}
.suoyin-group{margin:1.1rem 0}
.suoyin-group-title{margin:0 0 .6rem;padding:.35rem .6rem;background:#eef3fb;border-left:3px solid #1a5fb4;color:#1a3a5c;font-size:1rem;font-weight:700;border-radius:3px}
.suoyin-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.suoyin-item{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .7rem;border:1px solid #97a4b6;border-radius:6px;background:#fff;transition:border-color .2s,box-shadow .2s}
.suoyin-item:hover{border-color:#1a5fb4;box-shadow:0 1px 4px rgba(26,95,180,.12)}
.suoyin-link-name{color:#1a5fb4;font-weight:600;text-decoration:none;transition:color .2s}
.suoyin-link-name:hover{color:#e74c3c;text-decoration:underline}
.suoyin-link-name--text{color:#555;font-weight:600;cursor:default}
.suoyin-link-name--text:hover{color:#555}
.suoyin-item-ops{font-size:.82rem;color:#8a94a6;white-space:nowrap}
.suoyin-item-ops a{color:#1a5fb4;text-decoration:none}
.suoyin-item-ops a:hover{text-decoration:underline}
.suoyin-sep{color:#cbd2dc;margin:0 .15rem}

/* 分页组件：pageft 的内联 style 被 CSP 拦截，这里用类补偿 */
.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem;padding:.6rem 0;font-size:.92rem}
.pagination a,.pagination span{display:inline-block;min-width:2rem;padding:.3rem .55rem;text-align:center;border:1px solid #e1e6ef;border-radius:.35rem;color:#1a5fb4;text-decoration:none;background:#fff}
.pagination a:hover{border-color:#1a5fb4}
.pagination .page-current{background:#1a5fb4;border-color:#1a5fb4;color:#fff}
.pagination .page-disabled{color:#b6bcc8;border-color:#eef1f6;background:#fafbfc}
.pagination .page-jump{display:inline-flex;align-items:center;gap:.3rem;color:#555}
.pagination .page-jump input{width:3.5rem;padding:.25rem .35rem;border:1px solid #e1e6ef;border-radius:.35rem}
.dashiji-stat b{color:#1a5fb4}
.dashiji-detail-title{font-size:1.3rem;color:#1a5fb4;margin:.3rem 0 .4rem;font-weight:700}

/* ===== 图书管理 tushu ===== */
/* 分页（兼容旧 .pagination 结构，覆盖链接/当前页/禁用态） */
.pagination a,
.pagination .page-prev,
.pagination .page-next,
.pagination .page-current{display:inline-block;padding:8px 12px;margin:0 4px;border:1px solid #ddd;text-decoration:none;color:#337ab7;border-radius:4px;transition:all .3s}
.pagination a:hover{background:#eee;border-color:#ccc}
.pagination .page-current{background:#337ab7;color:#fff;border-color:#337ab7}
.pagination .disabled{color:#bbb;border-color:#eee;cursor:not-allowed;background:#fafafa}
.pagination .page-ellipsis{display:inline-block;padding:8px 5px;margin:0 2px;color:#999}
.pagination .page-info{color:#8899aa;margin:0 8px;font-size:.85rem}

/* 筛选条 */
.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1rem}
.filter-bar .all-form-input,.filter-bar .all-form-select{width:auto;min-width:8rem}
.filter-bar .btn{margin:0}

/* 表格内操作按钮组 / 行内表单 */
.row-actions{display:flex;flex-wrap:nowrap;gap:.4rem;align-items:center;white-space:nowrap}
.inline-form{display:inline-block;margin:0;vertical-align:middle}
/* 行内操作按钮：小巧、圆角、彩色背景，覆盖通用 .btn-submit/.btn-confirm 的大尺寸 */
.row-actions .btn{
    display:inline-block;
    width:auto;
    height:auto;
    margin:0;
    padding:.32rem .85rem;
    font-size:.82rem;
    font-weight:500;
    letter-spacing:1px;
    line-height:1.4;
    border:none;
    border-radius:6px;
    text-decoration:none;
    box-shadow:0 1px 3px rgba(0,0,0,.12);
    transition:filter .15s,transform .15s,box-shadow .15s
}
.row-actions .btn:link,.row-actions .btn:visited{color:#fff}
.row-actions .btn-submit{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}   /* 详情-蓝 */
.row-actions .btn-confirm{background:linear-gradient(135deg,#10b981,#059669);color:#fff}   /* 编辑-绿 */
.row-actions .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none} /* 删除-红 */
.row-actions .btn:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.18)}
.row-actions .btn:active{transform:translateY(0);box-shadow:0 1px 3px rgba(0,0,0,.15)}

/* 紧凑小按钮（用于表单内的取消/辅助按钮等），覆盖通用 .btn 的大尺寸 */
.btn-xs{display:inline-block;width:auto;height:auto;margin:0;padding:.32rem .85rem;font-size:.82rem;font-weight:500;letter-spacing:1px;line-height:1.4;border:none;border-radius:6px;text-decoration:none;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.12);transition:filter .15s,transform .15s,box-shadow .15s}
.btn-xs:link,.btn-xs:visited{color:#fff}
.btn-xs.btn-confirm{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}  /* 取消-橙 */
.btn-xs:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.18)}

/* 图书模块卡片加宽（默认 all-card-wide 为 90%，此处放宽到 96%） */
.tushu-card{width:96%!important;max-width:96%!important}
/* 图书列表等数据表格：占满容器宽度、单行不换行（内容超宽时由外层 .all-table-wrap 横向滚动） */
.tushu-table{width:100%;min-width:0}
.tushu-table tbody td{white-space:nowrap}
.bulk-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}
/* 批量操作区的按钮：浅底黑字，覆盖通用 .btn-confirm 的蓝底白字 */
.bulk-bar .btn{background:#fff;color:#222;border:1px solid #c3ccd6;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.bulk-bar .btn:link,.bulk-bar .btn:visited{color:#222}
.bulk-bar .btn:hover{background:#eef4fb;color:#1550a0;border-color:#a9c2e0}
.bulk-bar .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none}
/* 出版日期：年/月/日三个下拉横向排列 */
.date-selects{display:inline-flex;align-items:center;gap:.3rem}
.date-selects .all-form-select{width:auto;min-width:4.5rem}
/* 图书上架页：清空按钮下一行横向展示最近录入的 5 本书 */
.recent-books{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.4rem 0 1rem;padding:.2rem 0}
.recent-books-label{font-size:.9rem;color:#556;font-weight:600;align-self:center}
.recent-book{display:inline-flex;flex-direction:column;max-width:12rem;padding:.35rem .7rem;background:#f4f7fb;border:1px solid #dce4ee;border-radius:6px;text-decoration:none;transition:background .15s,border-color .15s}
.recent-book:hover{background:#e6eefb;border-color:#9bbce8}
.recent-book .rb-xtm{font-weight:600;font-size:.85rem;color:#1a5fb4;line-height:1.3}
.recent-book .rb-title{font-size:.78rem;color:#556;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:11rem}
.recent-books-empty{font-size:.85rem;color:#999}
.bulk-bar .btn-danger:link,.bulk-bar .btn-danger:visited{color:#fff}

/* ====== zhengshu 模块：全新表格体系（无 all-table/max-width 限制）====== */
.zs-page{width:100%;margin:0 0 1.6rem;background:#fff;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.zs-page-header{padding:1.2rem 1.6rem;font-size:1.5rem;font-weight:700;color:#2c3e50;border-bottom:1px solid #e8ecf1}
.zs-page-body{padding:1.6rem}
.zs-page-tip{padding:0 1.6rem 0.6rem 1.6rem;color:#888;font-size:.88rem}

.zs-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}
.zs-table{width:100%;min-width:1600px;border-collapse:collapse;font-size:.92rem;table-layout:auto}
.zs-table thead th{background:#f0f3f8;color:#444;font-weight:600;text-align:center;padding:10px 8px;border:1px solid #d0d8e2;white-space:nowrap;position:sticky;top:0;z-index:2}
.zs-table tbody td{padding:8px 10px;border:1px solid #e2e6ed;text-align:center;vertical-align:middle;white-space:nowrap}
.zs-table tbody tr:nth-child(even){background:#f8f9fb}
.zs-table tbody tr:hover{background:#eaf0f8}

/* 列宽 */
.zs-col-ubh{width:90px}
.zs-col-name{width:100px}
.zs-col-title{white-space:normal!important;width:360px;min-width:260px;word-break:break-word;text-align:left!important}
.zs-col-fenlei{width:90px}
.zs-col-jibie{width:80px}
.zs-col-dengji{width:80px}
.zs-col-bm{width:150px}
.zs-col-date{width:110px}
.zs-col-zt{width:90px}
.zs-col-act{width:240px;white-space:nowrap}
.zs-col-count{width:100px;font-weight:600}

/* 详情纵向属性表 */
.zs-detail-table{width:100%;border-collapse:collapse;font-size:.95rem}
.zs-detail-table th{background:#f0f3f8;width:110px;text-align:right;padding:10px 14px;font-weight:600;color:#555;border:1px solid #d0d8e2}
.zs-detail-table td{padding:10px 14px;border:1px solid #e2e6ed}
.zs-detail-table .zs-detail-img{max-width:160px;max-height:120px;margin:4px;border-radius:4px;border:1px solid #ddd}

/* 统计表格：小表，不设 min-width */
.zs-stat-table{width:100%;min-width:0;border-collapse:collapse;font-size:.92rem}
.zs-stat-table thead th{background:#f0f3f8;color:#444;font-weight:600;text-align:center;padding:8px 14px;border:1px solid #d0d8e2}
.zs-stat-table tbody td{padding:7px 14px;border:1px solid #e2e6ed}
.zs-stat-table tbody tr:nth-child(even){background:#f8f9fb}
.zs-stat-table tbody tr:hover{background:#eaf0f8}

/* zhengshu 辅助布局 */
.zs-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0;align-items:center}
.zs-actions form{display:inline}
.zs-filter-row{display:flex;flex-wrap:nowrap;gap:.6rem 1rem;align-items:flex-end;margin-bottom:.8rem;overflow-x:auto}
.zs-filter-item{display:flex;flex-direction:column;gap:.2rem}
.zs-filter-item label{font-size:.85rem;color:#666;font-weight:500}
.block-title{font-size:1.05rem;font-weight:700;color:#1a5fb4;margin:1.2rem 0 .6rem;padding-left:.6rem;border-left:4px solid #1a5fb4}
.empty-td{text-align:center;color:#999;padding:2rem 0!important}

/* 详情信息网格 */
.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.4rem 1.5rem;margin:1rem}
.info-item{display:flex;gap:.5rem;padding:.35rem 0;border-bottom:1px dashed #eee}
.info-label{color:#888;min-width:5rem;flex-shrink:0}
.info-value{color:#333;word-break:break-all}
.info-summary{margin:.6rem 0 1rem}
.info-summary p{margin:.3rem 0 0;color:#444;line-height:1.6}

/* 状态标签 */
.label{display:inline-block;padding:.1rem .5rem;border-radius:4px;font-size:.78rem;line-height:1.5}
.label-green{background:#e7f7ee;color:#27ae60;border:1px solid #b6e3c6}
.label-red{background:#fdecea;color:#e74c3c;border:1px solid #f3c0bb}
.label-gray{background:#f0f0f0;color:#888;border:1px solid #ddd}

/* 提示框 */
.alert{padding:.7rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem;line-height:1.6}
.alert-info{background:#eef4fb;color:#1a5fb4;border:1px solid #cdddf0}
.alert-error{background:#fdecea;color:#e74c3c;border:1px solid #f3c0bb}
.alert-success{background:#e7f7ee;color:#27ae60;border:1px solid #b6e3c6}

/* 表单整行 / 操作区 */
.all-form-row-full{width:100%}
.all-form-actions{justify-content:flex-start;gap:.6rem;margin-top:.5rem}

/* 统计卡片数字 */
.stat-num{font-size:1.8rem;font-weight:700;line-height:1.2}
.stat-label{font-size:.85rem;opacity:.9;margin-top:.2rem}
.bumen-act-del{color:#e74c3c!important}
.bumen-act-del:hover{background:#fde8e8!important;color:#c0392b!important}

.bumen-input{width:100%;max-width:24rem;padding:.55rem .75rem;border:1px solid #a8b0ba;border-radius:6px;font-size:.92rem;box-sizing:border-box}
.bumen-input:focus{outline:none;border-color:#1a5fb4;box-shadow:0 0 0 3px rgba(26,95,180,.15)}
.bumen-textarea{width:100%;max-width:30rem;padding:.55rem .75rem;border:1px solid #a8b0ba;border-radius:6px;font-size:.92rem;min-height:4rem;resize:vertical;box-sizing:border-box}
.bumen-textarea:focus{outline:none;border-color:#1a5fb4;box-shadow:0 0 0 3px rgba(26,95,180,.15)}

.bumen-radio-scroll{max-height:14rem;overflow-y:auto;border:1px solid #d0d5dd;border-radius:6px;padding:.5rem;background:#fafbfc}
.bumen-radio-label{display:block;padding:.15rem .3rem;font-size:.85rem;cursor:pointer;border-radius:3px;transition:background .15s}
.bumen-radio-label:hover{background:#e8ecf1}
.bumen-radio-label input[type="radio"]{margin-right:.35rem;vertical-align:middle}

.bumen-member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,88px));gap:.3rem;max-height:32rem;overflow-y:auto;border:1px solid #d0d5dd;border-radius:6px;padding:.5rem;background:#fafbfc;justify-items:start}
.bumen-member-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:.2rem .35rem;font-size:.78rem;cursor:pointer;border-radius:3px;transition:background .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bumen-member-item:hover{background:#e8ecf1}
.bumen-member-item input[type="checkbox"]{margin-right:.25rem;vertical-align:middle;flex-shrink:0}
.bumen-member-item span{font-weight:600}
.bumen-member-item small{color:#888;font-size:.7rem}
.bumen-member-toolbar{margin-top:.5rem;display:flex;gap:.5rem}

.bumen-form-footer{margin-top:1.5rem;text-align:center}
.bumen-link-back{display:inline-block;margin-top:.8rem;color:#337ab7;text-decoration:none;font-size:.88rem}
.bumen-link-back:hover{color:#1a5fb4;text-decoration:underline}

/* ===== 列表/表单内联样式外移（CSP 合规） ===== */
.bumen-noperm{text-align:center;color:#e74c3c;padding:2rem;}
.bumen-noperm a{color:#337ab7;text-decoration:none;}
.bumen-noperm a:hover{text-decoration:underline;}
.bm-col-sel{width:3rem;}
.bm-col-bh{width:4rem;}
.bm-col-sort{width:4rem;}
.bm-td-center{text-align:center;}
.bm-td-empty{text-align:center;color:#999;}
.bm-label{text-align:right;font-weight:700;background:#f0f5fb;white-space:nowrap;vertical-align:top;}
.bm-inp-w6{width:6rem;}
.bm-search-row{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;}
.bm-search-input{flex:1;}
.bm-search-btn{width:auto;padding:0 2rem;}
.bm-search-back{margin-top:1rem;text-align:center;}
.bm-nav-links{display:flex;}

@media (max-width:768px){
    .bumen-toolbar{flex-direction:column;align-items:stretch}
    .bumen-member-grid{grid-template-columns:repeat(2,1fr)}
}

/* ===== 登录页：系统状态信息 ===== */
.login-wrapper .system-info{padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:14px;line-height:1.5;text-align:center}
.login-wrapper .system-info.system-normal{background:#eafaf1;border:1px solid #a3d9b1;color:#1d7a3a}
.login-wrapper .system-info.system-locked{background:#fef9e7;border:1px solid #f0c040;color:#8a6d14}

/* ===== 登录页：错误提示 ===== */
.login-wrapper .login-error{background:#fdf2f2;border:1px solid #f1c0c0;color:#c0392b;padding:12px 16px;border-radius:6px;margin-bottom:16px;text-align:center;font-size:14px}

/* ===== 12. KC 学生端专用 ===== */
/* 退出按钮半透明背景 */
.stu-switch-btn-logout{background:rgba(255,255,255,.18)}
/* 退课按钮 */
.stu-btn-tuike{color:#e74c3c;border:1px solid #e74c3c;background:#fff}
/* xuanzhong 表头列宽 */
.kc-xz-seq{width:50px}.kc-xz-week{width:70px}.kc-xz-action{width:120px}.kc-xz-detail{width:100px}
/* 账目-本人次数列宽 */
.zm-cishu-col{width:120px}
/* 项目列表表头列宽 */
.xm-seq-col{width:60px}.xm-action-col{width:420px}
/* 课程详情 — 标签列 */
.kc-detail-label{width:120px;font-weight:bold}
.kc-detail-label-bold{font-weight:bold}
.kc-detail-label-top{font-weight:bold;vertical-align:top}
.kc-detail-value-wrap{line-height:1.8}
.kc-detail-qrcode{max-width:200px;max-height:200px;display:block}

/* ===== 13. 教师账号管理 (user_manage_teacher) ===== */
.tea-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:hidden;margin-bottom:1.5rem}
.tea-card-header{padding:1rem 1.5rem;border-bottom:1px solid #eef0f4;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.tea-card-header h2{font-size:1.2rem;color:#2c3e50;margin:0}
.tea-card-body{padding:1.5rem}
.tea-card-body-no-pad{padding:0}
.tea-search-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.8rem 1.2rem;background:#f8f9fb;border-radius:8px}
.tea-search-bar label{font-size:.9rem;color:#555;white-space:nowrap}
.tea-search-bar select,.tea-search-bar input[type="text"]{padding:.4rem .6rem;border:1px solid #c0c7cf;border-radius:5px;font-size:.88rem;background:#fff;color:#333;outline:none;transition:border-color .2s}
.tea-search-bar select:focus,.tea-search-bar input[type="text"]:focus{border-color:#337ab7;box-shadow:0 0 0 2px rgba(51,122,183,.15)}
.tea-search-bar input[type="text"]{min-width:150px;max-width:220px}
.tea-form{max-width:650px}
.tea-form-group{display:flex;align-items:center;margin-bottom:.9rem;gap:.8rem}
.tea-form-group label{min-width:100px;text-align:right;font-size:.9rem;color:#444;white-space:nowrap}
.tea-form-group label.required::after{content:' *';color:#e74c3c}
.tea-form-group .form-control{flex:1;padding:.5rem .7rem;border:1px solid #c0c7cf;border-radius:5px;font-size:.9rem;background:#fff;color:#333;outline:none;transition:border-color .2s}
.tea-form-group .form-control:focus{border-color:#337ab7;box-shadow:0 0 0 2px rgba(51,122,183,.15)}
.tea-form-group select.form-control{padding:.5rem .7rem}
.tea-form-group textarea.form-control{resize:vertical;min-height:60px}
.tea-form-actions{margin-top:1.2rem;padding-left:108px;display:flex;gap:.6rem;flex-wrap:wrap}
.tea-btn{display:inline-block;padding:.45rem 1.1rem;font-size:.88rem;border:1px solid transparent;border-radius:6px;cursor:pointer;text-decoration:none;text-align:center;white-space:nowrap;transition:all .2s;line-height:1.4}
.tea-btn-primary{background:#337ab7;color:#fff;border-color:#2e6da4}
.tea-btn-primary:hover{background:#286090;border-color:#204d74}
.tea-btn-success{background:#5cb85c;color:#fff;border-color:#4cae4c}
.tea-btn-success:hover{background:#449d44;border-color:#398439}
.tea-btn-warning{background:#f0ad4e;color:#fff;border-color:#eea236}
.tea-btn-warning:hover{background:#ec971f;border-color:#d58512}
.tea-btn-danger{background:#e74c3c;color:#fff;border-color:#c0392b}
.tea-btn-danger:hover{background:#c0392b;border-color:#a5281b}
.tea-btn-default{background:#fff;color:#333;border-color:#c0c7cf}

/* ===== 报修模块（baoxiu） ===== */
.tea-search-bar input[type="date"]{padding:.4rem .6rem;border:1px solid #c0c7cf;border-radius:5px;font-size:.88rem;background:#fff;color:#333;outline:none;transition:border-color .2s}
.tea-search-bar input[type="date"]:focus{border-color:#337ab7;box-shadow:0 0 0 2px rgba(51,122,183,.15)}
.tea-form .radio-group{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;flex:1}
.tea-form .radio-item{display:inline-flex;align-items:center;padding:6px 14px;background:#f5f7fa;border:1px solid #dcdfe6;border-radius:6px;cursor:pointer;font-size:.92rem;color:#555;transition:all .2s;user-select:none}
.tea-form .radio-item:hover{border-color:#1a5fb4;color:#1a5fb4;background:#ecf3fc}
.tea-form .radio-item:has(input:checked){background:#1a5fb4;border-color:#1a5fb4;color:#fff;font-weight:600}
.tea-form .radio-item input[type="radio"]{margin-right:6px}
.tea-form .form-control{width:100%}
.tea-form textarea.form-control{min-height:120px;resize:vertical;line-height:1.5}
.state-badge{display:inline-block;padding:.2rem .7rem;border-radius:12px;font-size:.78rem;font-weight:600;white-space:nowrap}
.state-ok{background:#e6f7ed;color:#1a7f4b;border:1px solid #9adcb6}
.state-pending{background:#fff4e5;color:#b45309;border:1px solid #fcd9a3}
.all-table-empty{padding:1.5rem;text-align:center;color:#999}
.all-table-actions{white-space:nowrap}
.all-table-actions .tea-btn{margin:0 2px}
.all-table-actions .tea-btn-primary{color:#fff}
.all-table-actions .tea-btn-default{color:#333}

/* ===== 供应商管理 (login/gongyingshang) ===== */
.gys-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.4rem 0 .8rem}
.gys-tag{display:inline-block;padding:.15rem .55rem;border-radius:4px;font-size:.78rem;line-height:1.5;white-space:nowrap}
.gys-tag-ok{background:#e7f7ee;color:#27ae60;border:1px solid #b6e3c6}
.gys-tag-lock{background:#fff1f0;color:#cf1322;border:1px solid #ffa39e}
.gys-flash-ok{background:#eaf7ea;color:#27ae60;border:1px solid #b7e4b7;padding:.6rem 1rem;border-radius:6px;margin-bottom:1rem;text-align:center}
.gys-flash-err{background:#fde8e8;color:#e74c3c;border:1px solid #f5c6c6;padding:.6rem 1rem;border-radius:6px;margin-bottom:1rem;text-align:center}
.gys-tip{color:#666;font-size:.88rem;line-height:1.7;margin:.2rem 0 1rem;background:#f8f9fb;border:1px solid #eef0f4;border-radius:6px;padding:.7rem 1rem}
.xuanke-link-danger{color:#e74c3c;border-color:#e74c3c}
.xuanke-link-danger:hover{background:#fde8e8;color:#c0392b;border-color:#c0392b}
.all-table-actions .xuanke-link-btn{margin:0 2px}

/* 供应商搜索栏：标签在上、输入框在下 */
.gys-search{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1.2rem;padding:.9rem 1rem;background:#f8f9fb;border:1px solid #eef0f4;border-radius:8px}
.gys-search-field{display:flex;flex-direction:column;gap:.3rem}
.gys-search-field label{font-size:.82rem;color:#555;font-weight:600;line-height:1.2}
.gys-search-input{padding:.5rem .8rem;border:1px solid #dcdfe6;border-radius:6px;font-size:.95rem;color:#333;min-width:12rem;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}
.gys-search-input:focus{border-color:#1a5fb4;box-shadow:0 0 0 3px rgba(26,95,180,.12)}
.gys-search-input::placeholder{color:#aab}
.gys-search-btn{padding:.55rem 1.6rem;background:linear-gradient(135deg,#1a5fb4,#2d7bc6);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;letter-spacing:1px;cursor:pointer;transition:.2s;box-shadow:0 2px 8px rgba(26,95,180,.25)}
.gys-search-btn:hover{background:linear-gradient(135deg,#155196,#1a5fb4);transform:translateY(-1px)}
.gys-search-reset{padding:.55rem 1.3rem;background:#fff;color:#666;border:1px solid #dcdfe6;border-radius:6px;font-size:.95rem;text-decoration:none;cursor:pointer;transition:.2s;line-height:1.2}
.gys-search-reset:hover{border-color:#c0392b;color:#c0392b;background:#fdf2f2}
.all-table-detail th{width:96px;background:#f0f5fb!important;color:#2c3e50;border-color:#b0b8c2;text-align:right;white-space:nowrap;font-weight:600}
.all-table-detail td{border:1px solid #b0b8c2;vertical-align:top}
/* 通讯录模块工具类 */
.txl-search{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:.3rem 0 .8rem}
.txl-inline-form{display:inline}
.txl-toolbar{padding-left:0;margin:.3rem 0 .6rem}
.txl-pageinfo{margin:.6rem 0;color:#666;font-size:.9rem;text-align:center}
.txl-row-click{cursor:pointer}
.txl-row-click:hover{background:#f5f8fc}
/* 通讯录首页：人员小方框网格（100%宽，max-width:75rem，固定6列，带边框） */
.txl-grid{width:100%;margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem;align-items:stretch}
.txl-person{background:#fff;border:1px solid #b0b8c2;border-radius:10px;padding:.7rem .9rem;display:flex;flex-direction:column;gap:.45rem;min-width:0;transition:box-shadow .2s,border-color .2s}
.txl-person:hover{box-shadow:0 4px 14px rgba(20,60,120,.18);border-color:#1a5fb4}
@media (max-width:1100px){.txl-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:760px){.txl-grid{grid-template-columns:repeat(2,1fr)}}
.txl-person-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;border-bottom:1px solid #eef1f6;padding-bottom:.35rem}
.txl-person-name{font-size:1.05rem;font-weight:700;color:#1a5fb4;text-decoration:none}
.txl-person-name:hover{text-decoration:underline;color:#1a5fb4}
.txl-person-seq{font-size:.8rem;color:#9aa6b2;flex:none}
.txl-person-body{display:flex;flex-direction:column;gap:.2rem;flex:1}
.txl-person-item{display:flex;gap:.4rem;font-size:.92rem;line-height:1.5}
.txl-person-label{color:#6b7785;flex:none;min-width:4.5rem}
.txl-person-value{color:#2c3e50;word-break:break-all}
.txl-person-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding-top:.35rem;border-top:1px solid #eef1f6}
.txl-person-actions a{color:#337ab7;text-decoration:none;font-size:.88rem}
.txl-person-actions a:hover{text-decoration:underline;color:#1a5fb4}
.req{color:#e74c3c;font-style:normal}
.muted{color:#8899aa}
.pre-wrap{white-space:pre-wrap;word-break:break-word;line-height:1.6}
.all-card-header h2{color:#fff;font-size:1.15rem;font-weight:700;margin:0}
.tea-btn-default:hover{background:#f5f6f8}
.tea-btn-sm{padding:.25rem .6rem;font-size:.8rem}
.tea-btn-xs{padding:.15rem .4rem;font-size:.76rem;border-radius:4px}
.tea-action-cell{white-space:nowrap}
.tea-action-cell a,.tea-action-cell button{display:inline-block;padding:.15rem .4rem;font-size:.82rem;color:#337ab7;text-decoration:none;border-radius:4px;transition:all .2s;background:none;border:none;cursor:pointer;line-height:1.4}
.tea-action-cell a:hover,.tea-action-cell button:hover{background:#e6f0ff;color:#1a5fb4}
.tea-action-cell .tea-act-del{color:#e74c3c}
.tea-action-cell .tea-act-del:hover{background:#fde8e8;color:#c0392b}
.tea-action-cell .tea-act-warn{color:#f0ad4e}
.tea-action-cell .tea-act-warn:hover{background:#fff8e6;color:#d58512}
.tea-status{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.8rem;white-space:nowrap}
.tea-status-qiyong{background:#e6ffed;color:#389e0d;border:1px solid #b7eb8f}
.tea-status-daishen{background:#fffbe6;color:#d48806;border:1px solid #ffe58f}
.tea-status-jinyong{background:#fff1f0;color:#cf1322;border:1px solid #ffa39e}
.tea-status-lizhi{background:#f0f0f0;color:#666;border:1px solid #d9d9d9}
.tea-status-huishou{background:#f5f5f5;color:#999;border:1px solid #ddd}
.tea-detail-table{width:100%;border-collapse:collapse}
.tea-detail-table th,.tea-detail-table td{padding:.6rem .9rem;border:1px solid #e0e6ed;font-size:.9rem;text-align:left}
.tea-detail-table th{background:#f0f5fb;color:#2c3e50;width:130px;white-space:nowrap;font-weight:600}
.tea-detail-table td{color:#333}
.tea-msg{padding:.8rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}
.tea-msg-success{background:#f6ffed;color:#389e0d;border:1px solid #b7eb8f}
.tea-msg-error{background:#fff1f0;color:#cf1322;border:1px solid #ffa39e}
.tea-msg-info{background:#e6f7ff;color:#096dd9;border:1px solid #91d5ff}
.tea-empty{text-align:center;padding:2rem 1rem;color:#999;font-size:.95rem}
.tea-export-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.2rem 0 .8rem;padding:.5rem .8rem;background:#f0f6ff;border:1px solid #d6e6ff;border-radius:8px}
.tea-export-bar .tea-export-tip{font-size:.82rem;color:#6b7785}
.tea-batch-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.6rem .8rem;background:#fafbfc;border-top:1px solid #eef0f4}
.tea-batch-bar select{padding:.35rem .5rem;border:1px solid #c0c7cf;border-radius:5px;font-size:.85rem;background:#fff;outline:none}
.tea-batch-bar select:focus{border-color:#337ab7}
.tea-info-bar{padding:.6rem 1.2rem;background:#f8f9fb;border-bottom:1px solid #eef0f4;font-size:.88rem;color:#666}
.tea-info-bar strong{color:#333}
.tea-seq{display:inline;margin-left:.4rem;color:#999;font-size:.82rem}
.tea-page-bar{text-align:center;padding:.8rem 1rem;background:#f0f4f8;border-top:1px solid #d0dae5;font-size:.88rem}
.tea-page-bar a,.tea-page-bar span{display:inline-block;padding:.3rem .55rem;margin:0 .15rem;border-radius:4px;text-decoration:none;transition:all .2s;line-height:1.4}
.tea-page-num{color:#337ab7;background:#fff;border:1px solid #c0c7cf}
.tea-page-num:hover{background:#e6f0ff;border-color:#337ab7}
.tea-page-active{color:#fff;background:#337ab7;border:1px solid #2e6da4;cursor:default}
.tea-page-prev,.tea-page-next{color:#555;background:#fff;border:1px solid #c0c7cf}
.tea-page-prev:hover,.tea-page-next:hover{background:#f0f4f8;border-color:#337ab7;color:#337ab7}
.tea-page-info{margin-left:.8rem;color:#555;font-size:.85rem}
/* CSP 替代内联样式 */
.tea-search-form{margin:0}
.tea-no-perm{text-align:center;color:#e74c3c;padding:2rem}
.tea-chk-col{width:80px;text-align:center}
.tea-chk-all{cursor:pointer}
.tea-chk-td{text-align:center;white-space:nowrap}
.tea-form-hint{font-size:.8rem;color:#999}
.all-card-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.tea-upload{margin-bottom:.4rem}
.tea-upload .upload{margin-bottom:.4rem}

/* ===== 报修添加/编辑表单美化增强 ===== */
/* 表单占满 100% 宽度（采用 all-table 表格风格） */
.tea-form{width:100%;max-width:100%;padding:.4rem 0}
.bx-form-table{max-width:none!important;width:100%}
.bx-form-table th{width:120px;text-align:right!important;white-space:nowrap;vertical-align:middle;font-weight:600}
.bx-form-table td{vertical-align:top;padding:.7rem .9rem}
/* 表单内不需要数据表的斑马纹/悬停高亮 */
.bx-form-table tbody tr:nth-child(even) td{background:#fff!important}
.bx-form-table tbody tr:hover td{background:#fff!important;cursor:default}
.bx-form-table .bx-dept-list{justify-content:flex-start}
.bx-title-link{color:#337ab7;text-decoration:none;font-weight:500}
.bx-title-link:hover{color:#286090;text-decoration:underline}
.bx-form-table .bx-form-actions{text-align:center;background:#f8fafc;padding:.9rem 0}
.bx-form-table .bx-form-actions .tea-btn{margin:0 .5rem;padding:.7rem 2.2rem;font-size:1.05rem;min-width:120px}
/* 防止 all-table 全局 img/td 规则影响图片预览 */
.bx-form-table .img-area img{width:100%!important;height:110px!important;max-width:100%!important;object-fit:cover;border-radius:8px;border:1px solid #e3e8ee;background:#fff}
.tea-form-group{margin-bottom:1.05rem}
.tea-form-group > label{font-weight:600;color:#3a4654}
.tea-form .form-control{width:100%;padding:.6rem .8rem;border:1px solid #d0d7de;border-radius:8px;font-size:.92rem;background:#fbfcfe;color:#2c3e50;transition:border-color .2s,box-shadow .2s,background .2s}
.tea-form .form-control:hover{border-color:#b7c2cf}
.tea-form .form-control:focus{border-color:#337ab7;background:#fff;box-shadow:0 0 0 3px rgba(51,122,183,.15)}
.tea-form .form-control::placeholder{color:#aab2bd}
.tea-form-group-col{flex-direction:column;align-items:stretch;gap:.45rem}
.tea-form-group-col > label{text-align:left;min-width:auto}
.tea-form-actions{padding-left:116px}
/* 处理页文本框放大（仅作用于 chuli.php 的 .chuli-form） */
.chuli-form .form-control{width:100%;padding:.85rem 1rem;border:1px solid #cdd5df;border-radius:10px;font-size:1.02rem;line-height:1.6;background:#fbfcfe;color:#2c3e50;transition:border-color .2s,box-shadow .2s,background .2s}
.chuli-form .form-control:hover{border-color:#aab4c2}
.chuli-form .form-control:focus{border-color:#337ab7;background:#fff;box-shadow:0 0 0 3px rgba(51,122,183,.15)}
.chuli-form textarea.form-control{min-height:160px;resize:vertical}
/* 上传区（卡片 + 虚线边框） */
.tea-upload{background:#f8fafc;border:1px dashed #cfd8e3;border-radius:10px;padding:1rem;margin-top:.2rem}
.tea-upload .upload{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.tea-upload .tea-upload-btn{display:inline-block;padding:.5rem 1.1rem;background:#337ab7;color:#fff;border-radius:8px;font-size:.88rem;cursor:pointer;transition:background .2s}
.tea-upload .tea-upload-btn:hover{background:#286090}
.row-title-link{color:#1a5fb4;text-decoration:none;font-weight:600}
.row-title-link:hover{color:#0d4a99;text-decoration:underline}
.tea-upload .muted{margin:.5rem 0 0}
.img-area{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem;margin-top:.7rem}
.img-area img{width:100%;height:110px;max-width:100%!important;object-fit:cover;border-radius:8px;border:1px solid #e3e8ee;background:#fff}
/* 表单顶部提示条 */
.tea-form-tip{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.7rem 1rem;background:#eef4fb;border:1px solid #cdddf0;border-radius:8px;color:#3a5a82;font-size:.88rem;line-height:1.5;margin-bottom:1.2rem}
.tea-form-tip b{color:#1a5fb4;font-weight:700}
/* 报修列表项中的报修人姓名 */
.bx-ren{font-size:.78rem;color:#8a94a6;margin-left:.3rem}
/* 接收部门 checkbox 全列表（横向全部列出，占满 100% 宽度） */
.bx-dept-list{display:flex;flex-wrap:wrap;gap:.5rem;flex:1 1 100%;width:100%}
.bx-dept-item{flex:1 1 auto;justify-content:center;text-align:center;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .85rem;background:#f5f7fa;border:1px solid #dcdfe6;border-radius:8px;cursor:pointer;font-size:.9rem;color:#4a5562;transition:all .2s;user-select:none}
.bx-dept-item:hover{border-color:#1a5fb4;color:#1a5fb4;background:#ecf3fc}
.bx-dept-item:has(input:checked){background:#1a5fb4;border-color:#1a5fb4;color:#fff;font-weight:600}
.bx-dept-item input[type="checkbox"]{margin:0;accent-color:#1a5fb4;cursor:pointer}
.tea-upload .muted{font-size:.82rem;margin:.2rem 0}
.img-area{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.img-area img{max-width:160px;max-height:160px;border-radius:6px;border:1px solid #e0e6ed;object-fit:cover}
.tea-section-title{font-size:1.05rem;color:#2c3e50;margin:1.4rem 0 .8rem;padding-left:.6rem;border-left:3px solid #337ab7}
.chuli-list{display:flex;flex-direction:column;gap:.8rem;margin-bottom:.5rem}
.chuli-item{border:1px solid #e0e6ed;border-radius:8px;padding:.9rem 1rem;background:#fafbfc}
.chuli-meta{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}
.chuli-item .pre-wrap{margin-top:.3rem}
.tea-detail-img{max-width:220px;max-height:220px;border-radius:6px;border:1px solid #e0e6ed;object-fit:cover;margin-top:.3rem}
@media (max-width:768px){
    .tea-card-body{padding:1rem}
    .tea-form-group{flex-direction:column;align-items:stretch}
    .tea-form-group label{text-align:left;min-width:auto}
    .tea-form-actions{padding-left:0}
    .tea-detail-table th{width:90px}
}
/* ===== 教师修改密码 (share/password.php) ===== */
.pwd-page{max-width:500px;margin:40px auto;padding:20px}
.pwd-card{background:#fff;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.1);padding:30px}
.pwd-card h2{margin:0 0 24px;font-size:20px;color:#333;text-align:center}
.pwd-msg{margin-bottom:16px;padding:12px 16px;border-radius:6px;font-size:14px}
.pwd-msg.success{background:#e6fff0;color:#1a7a3a;border:1px solid #b3eccb}
.pwd-msg.error{background:#fff0f0;color:#c02020;border:1px solid #f5c6c6}
.pwd-group{margin-bottom:18px}
.pwd-group label{display:block;margin-bottom:6px;font-weight:600;color:#555;font-size:14px}
.pwd-group input{width:100%;padding:10px 12px;border:1px solid #d0d5dd;border-radius:6px;font-size:14px;box-sizing:border-box;transition:border-color .2s}
.pwd-group input:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 3px rgba(74,144,217,.15)}
.pwd-actions{display:flex;gap:12px;margin-top:24px}
.pwd-btn{flex:1;padding:10px 0;border:none;border-radius:6px;font-size:15px;cursor:pointer;text-align:center;text-decoration:none;transition:opacity .2s}
.pwd-btn:hover{opacity:.85}
.pwd-btn-submit{background:#4a90d9;color:#fff}
.pwd-btn-back{background:#e5e7eb;color:#555;display:inline-block;line-height:normal}
.pwd-back-link{text-align:center;margin-top:20px}
.pwd-back-link a{color:#888;font-size:13px;text-decoration:none}
.pwd-back-link a:hover{color:#4a90d9}

/* ===== 内部文章 (nb_article) ===== */
.nb-article{padding:1.5rem;background:#fff;border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,.06);margin:1rem 0}
.nb-article-title{font-size:1.5rem;color:#2c3e50;margin:0 0 .6rem;line-height:1.4}
.nb-article-meta{font-size:.85rem;color:#888;padding-bottom:.8rem;margin-bottom:1rem;border-bottom:1px solid #eef0f4;line-height:1.8}
.nb-article-content{font-size:.95rem;line-height:1.8;color:#333;word-break:break-word}
.nb-article-content img{max-width:100%;height:auto}
.nb-article-actions{margin:1rem 0;display:flex;gap:.5rem;flex-wrap:wrap}
.nb-pinglun{margin-top:1.5rem;padding-top:1rem;border-top:2px solid #eef0f4}
.nb-pinglun-title{font-size:1.1rem;color:#2c3e50;margin:0 0 1rem}
.nb-pinglun-list{list-style:none;margin:0;padding:0}
.nb-pinglun-item{padding:.8rem 0;border-bottom:1px solid #f0f2f5}
.nb-pinglun-head{display:flex;justify-content:space-between;font-size:.82rem;color:#888;margin-bottom:.3rem}
.nb-pinglun-name{font-weight:600;color:#337ab7}
.nb-pinglun-body{font-size:.92rem;line-height:1.6;color:#333;white-space:pre-wrap;word-break:break-word}
.nb-pinglun-empty{color:#999;font-size:.9rem;padding:.5rem 0}
.nb-pinglun-form{margin-top:1rem}
.nb-pinglun-form textarea{width:100%;box-sizing:border-box;padding:.6rem .8rem;border:1px solid #c0c7cf;border-radius:6px;font-size:.92rem;resize:vertical;min-height:4rem}
.nb-pinglun-form textarea:focus{outline:none;border-color:#337ab7;box-shadow:0 0 0 2px rgba(51,122,183,.15)}
.nb-ml-auto{margin-left:auto}
.nb-ml-1{margin-left:1rem}
.nb-seq-col{width:3rem;text-align:center}
.nb-form-inline{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.nb-checkbox{display:inline-flex;align-items:center;gap:.3rem;font-weight:400;margin:0}
.nb-sort-input{width:8rem}
.btn-return{display:inline-block;padding:.5rem 1.4rem;margin:0 .4rem;border:1px solid #337ab7;background:#337ab7;color:#fff;border-radius:4px;cursor:pointer;font-size:.95rem;text-decoration:none}
.btn-return:hover{background:#286090;border-color:#286090}
.nb-batch-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:12px;padding:8px 10px;background:#f5f7fa;border-radius:6px}
.dash-link-warn{color:#e67e22}
.dash-link-warn:hover{color:#ca6f1e}
.dash-link-del{color:#c0392b}
.dash-link-del:hover{color:#a93226}

/* 分类管理表单（class.php） */
.nb-class-form{width:100%;border-collapse:separate;border-spacing:0}
.nb-class-form td{padding:.55rem .6rem;vertical-align:middle}
.nb-class-form td.label{width:7rem;white-space:nowrap;font-size:.95rem;color:#444;text-align:right;padding-right:1rem}
.nb-class-form .form-control{width:100%;box-sizing:border-box;padding:.7rem .95rem;border:1px solid #c0c7cf;border-radius:6px;font-size:1rem;background:#fff;color:#333;outline:none;transition:border-color .2s}
.nb-class-form .form-control:focus{border-color:#337ab7;box-shadow:0 0 0 2px rgba(51,122,183,.15)}
.nb-class-form select.form-control{padding:.7rem .95rem}
.nb-class-form .nb-url-input{width:50%}
.nb-class-form .nb-url-input:focus{width:50%}

/* ===== 通知模块 (login/tongzhi) ===== */
.tz-title{font-size:1.25rem;color:#2c3e50;margin:.4rem 0 1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.tz-subtitle{font-size:1.05rem;color:#1a5fb4;margin:1.4rem 0 .6rem;border-left:4px solid #1a5fb4;padding-left:.5rem}
.tz-search{display:flex;align-items:center;gap:.5rem;margin:.3rem 0 .8rem;flex-wrap:wrap}
.tz-search .form-control{max-width:260px}
.tz-content{margin:.6rem 0}
.tz-content-label{font-weight:600;color:#444;margin-bottom:.3rem}
.tz-rich{line-height:1.8;color:#333;word-break:break-word;background:#fafbfc;border:1px solid #eef0f4;border-radius:6px;padding:.8rem 1rem;min-height:2rem}
.tz-rich img{max-width:100%;height:auto}
.tz-attach-box{margin:.6rem 0}
.tz-attach{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.tz-attach-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem;width:100%}
.tz-attach-item{display:inline-block;padding:.3rem .7rem;background:#eef4fb;color:#1a5fb4;border:1px solid #cfe0f5;border-radius:4px;font-size:.85rem;text-decoration:none;max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tz-attach-item:hover{background:#e0ecfb}
.tz-form{width:100%;margin:0 auto}
.tz-form .tz-form-table{width:100%;min-width:75rem;max-width:none}
.tz-form .form-control{width:100%;box-sizing:border-box;padding:.6rem .85rem;border:1px solid #cdd5df;border-radius:8px;font-size:.95rem;background:#fbfcfe;color:#2c3e50;transition:border-color .2s,box-shadow .2s,background .2s}
.tz-form .form-control:focus{outline:none;border-color:#4a90d9;background:#fff;box-shadow:0 0 0 3px rgba(74,144,217,.15)}
.tz-form textarea.form-control{min-height:120px;resize:vertical;line-height:1.5}
.tz-form-table th{width:8.5rem;padding:1.05rem 1.1rem;background:#eef4fb;color:#1f3a5f;font-weight:600;text-align:left;white-space:nowrap;vertical-align:top;border-bottom:1px solid #e2e8f0}
.tz-form-table td{padding:1.05rem 1.1rem;vertical-align:top;border-bottom:1px solid #eef2f6}
.tz-form-table tr:last-child th,
.tz-form-table tr:last-child td{border-bottom:none}
.tz-form-table tbody tr:hover td{background:#f8fbff;cursor:default}
/* 表单内的签批人/接收人复选列表：去掉边框盒子的"表中表"观感，改为全宽平铺 */
.tz-form-table .tz-xuanze{border:none;background:transparent;padding:0;max-height:none;overflow:visible}
.tz-form-table .tz-xuanze-group{margin-bottom:.9rem}
.tz-form-table .tz-xuanze-users{gap:.4rem 1.6rem}
.tz-form-table .all-form-cb-label{font-size:.95rem}
.tz-form-table .tz-form-actions{margin:0;padding-top:1.3rem;padding-bottom:1.3rem;text-align:center}
.tz-form-table .tz-form-actions .btn{margin:0 .3rem}
.tz-tip{color:#888;font-size:.85rem;padding:.35rem 0}
.tz-alert{background:#fff4e5;color:#b45309;border:1px solid #fcd9a3;border-radius:6px;padding:.7rem 1rem;margin-bottom:1rem;font-size:.9rem}
.tz-alert.tz-ok{background:#f6ffed;color:#389e0d;border-color:#b7eb8f}
.tz-empty{text-align:center;color:#999;padding:1.5rem}
.tz-op,.tz-actions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin-top:1rem}
.tz-inline-form{display:inline}
.tz-xuanze{border:1px solid #d0d5dd;border-radius:6px;padding:.6rem;background:#fafbfc;max-height:20rem;overflow:auto}
.tz-xuanze-group{margin-bottom:.6rem}
.tz-xuanze-dep{font-weight:600;color:#1a5fb4;margin-bottom:.3rem;font-size:.9rem}
.tz-xuanze-users{display:flex;flex-wrap:wrap;gap:.3rem .8rem}
.tz-record-form{max-width:700px;margin-top:.6rem}
.tz-record-form textarea{min-height:90px}
.tz-record-content{line-height:1.6;white-space:pre-wrap;word-break:break-word}
.tz-sign-box{margin:.4rem 0}
.tz-sign-tip{color:#888;font-size:.85rem;margin-bottom:.4rem}
.tz-sign-canvas{border:1px solid #ccc;border-radius:4px;background:#fff;width:100%;max-width:600px;height:220px;touch-action:none;display:block}
.tz-sign-btns{margin-top:.4rem}
.tz-sign-img{max-height:80px;border:1px solid #ddd;border-radius:4px;background:#fff}
.badge{display:inline-block;padding:.15rem .55rem;border-radius:12px;font-size:.78rem;font-weight:600;background:#eef2f7;color:#555;border:1px solid #d6dde6;white-space:nowrap}
.badge-ok{background:#e6f7ed;color:#1a7f4b;border-color:#9adcb6}
.zyjj-warn{background:#fff4e5;color:#b45309;border-color:#fcd9a3}
.zyjj-danger{background:#fff1f0;color:#cf1322;border-color:#ffa39e}

/* ===== 失物招领 (login/shiwu) ===== */
.top-bar-left,.top-bar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.top-bar-title{font-size:1.1rem;font-weight:700}
.top-bar-sub{font-size:.9rem;padding:.15rem .6rem;background:rgba(255,255,255,.18);border-radius:12px}
.shiwu-user{color:#fff;font-size:.95rem}
.top-bar-link{color:#fff;text-decoration:none;font-size:.92rem;padding:.25rem .6rem;border:1px solid rgba(255,255,255,.4);border-radius:4px;transition:background .2s}
.top-bar-link:hover{background:rgba(255,255,255,.25);color:#fff;text-decoration:none}
.bitian{color:#e74c3c;margin-left:2px}
.shiwu-msg{background:#e8f4ff;color:#1a5fb4;border:1px solid #b3d7ff;border-radius:6px;padding:.7rem 1rem;margin:.5rem 0 1rem;font-size:.92rem}
.shiwu-tip{color:#888;font-size:.88rem;margin:.2rem 0 1rem;line-height:1.7}
.shiwu-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:1rem 0}
.shiwu-toolbar .spacer{flex:1}
.shiwu-search{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:1rem}
.shiwu-field{margin-bottom:1rem}
.shiwu-field > label{display:block;font-weight:600;margin-bottom:.35rem;color:#333}
.shiwu-radio-group{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding-top:.35rem}
.shiwu-radio{display:inline-flex;align-items:center;gap:6px;font-weight:400;margin:0;cursor:pointer;font-size:.95rem}
.shiwu-radio input{width:16px;height:16px;margin:0;cursor:pointer}
/* 详情操作按钮（不使用蓝底，按操作语义着色） */
.shiwu-btn{display:inline-flex;align-items:center;justify-content:center;padding:.42rem 1.1rem;margin:0 .3rem .35rem 0;border:1px solid #d0d7de;border-radius:6px;background:#fff;color:#333;font-size:.92rem;font-weight:500;text-decoration:none;cursor:pointer;line-height:1.4;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
.shiwu-btn:hover{background:#f3f4f6;border-color:#b6bec7;color:#111;text-decoration:none}
.shiwu-btn:active{transform:translateY(1px)}
.shiwu-btn:visited{color:#333}
.shiwu-btn--danger{color:#c53030;border-color:#f5b5b5}
.shiwu-btn--danger:hover{background:#fff1f0;border-color:#e53e3e;color:#a71d2a}
.shiwu-btn--danger:visited{color:#c53030}
.shiwu-btn--lock{color:#475569;border-color:#cbd5e1}
.shiwu-btn--lock:hover{background:#f1f5f9;border-color:#94a3b8;color:#334155}
.shiwu-btn--back{color:#b45309;border-color:#fcd9a5}
.shiwu-btn--back:hover{background:#fffbeb;border-color:#f59e0b;color:#92400e}
.shiwu-btn--claim{color:#15803d;border-color:#a7e3b8}
.shiwu-btn--claim:hover{background:#f0fdf4;border-color:#22c55e;color:#166534}
.shiwu-center{text-align:center;color:#999}
.shiwu-thumb-cell{text-align:center;vertical-align:middle;width:64px}
.shiwu-thumb-sm{max-width:48px;max-height:48px;border:1px solid #e0e6ed;border-radius:4px;vertical-align:middle;object-fit:cover}
.shiwu-thumb-link{display:inline-block;line-height:1;outline:none}
.shiwu-thumb-link:hover .shiwu-thumb-sm{border-color:#1a73e8;box-shadow:0 2px 8px rgba(26,115,232,.25)}
.shiwu-no-pic{color:#ccc;font-size:1.1rem}
.shiwu-imgs{margin-top:.4rem}
.shiwu-thumb{max-width:160px;max-height:160px;margin:.3rem .4rem 0 0;border:1px solid #e0e6ed;border-radius:4px;vertical-align:top}
.shiwu-img{max-width:300px;max-height:300px;margin:.4rem .6rem .4rem 0;border:1px solid #e0e6ed;border-radius:6px;vertical-align:top;transition:transform .15s,box-shadow .15s}
.shiwu-img-link{display:inline-block;outline:none}
.shiwu-img-link:hover .shiwu-img{transform:scale(1.03);box-shadow:0 4px 14px rgba(0,0,0,.18);cursor:zoom-in}
.shiwu-detail{font-size:.95rem;line-height:1.9;margin:0}
.shiwu-detail dt{font-weight:700;color:#444;float:left;width:7rem;clear:left}
.shiwu-detail dd{margin-left:7.5rem;margin-bottom:.3rem;word-break:break-word}

/* ===== IP地址管理：VLAN 列表表格（加宽至 100rem） ===== */
.all-table.ip-vlan-list-table{width:100%;max-width:100rem}

/* ===== IP地址管理：VLAN 添加/编辑表单（完整表格样式，右侧单元格左对齐） ===== */
.ip-vlan-form-table{width:100%;max-width:60rem;border-collapse:collapse}
.ip-vlan-form-table th,.ip-vlan-form-table td{border:1px solid #b0b8c2;padding:.7rem .9rem;vertical-align:middle}
.ip-vlan-form-table th{width:11rem;text-align:left;white-space:nowrap;color:#1f3a5f;font-weight:600}
.ip-vlan-form-table td{text-align:left}
.ip-vlan-form-table tbody tr:nth-child(even){background:#e8f0fe}
.ip-vlan-form-table .ip-input,.ip-vlan-form-table .ip-textarea{width:100%;box-sizing:border-box}

/* ===== 瀛︾敓鎴愮哗妯″潡 (stu_chengji) ===== */
.topnav{background:#fff;padding:12px 20px;border-bottom:2px solid #1a5fb4;display:flex;align-items:center;gap:15px;margin-bottom:15px}
.topnav h3{font-size:18px;color:#1a5fb4;margin:0}
.topnav h3 span{font-size:13px;font-weight:400;margin-left:10px}
.topnav h3 span a{color:#888}
.topnav a{padding:6px 12px;background:#1a5fb4;color:#fff;border-radius:4px;font-size:14px}
.topnav a:hover{background:#15518f;color:#fff}
.search-bar{margin-bottom:12px;display:flex;gap:8px}
.search-bar input[type=text]{padding:7px 10px;border:1px solid #ccc;border-radius:4px;min-width:220px}
.table-list{width:100%;border-collapse:collapse;background:#fff;font-size:14px}
.table-list th,.table-list td{border:1px solid #e3e3e3;padding:8px 10px;text-align:left}
.table-list th{background:#f4f7fb;color:#1a5fb4;font-weight:600}
.table-list tr:nth-child(even){background:#fafcff}
.table-list .tc{text-align:center}
.tip-ok{background:#e7f7ec;color:#1a7f37;border:1px solid #b7e0c2;padding:10px 14px;border-radius:4px;margin-bottom:12px}
.tip-err{background:#fdecea;color:#c0392b;border:1px solid #f5c6cb;padding:10px 14px;border-radius:4px;margin-bottom:12px}
.btn-sub{padding:7px 16px;background:#1a5fb4;color:#fff;border:none;border-radius:4px;cursor:pointer}
.btn-sub:hover{background:#15518f}
.btn-cancel{padding:7px 16px;background:#ddd;color:#333;border-radius:4px;margin-left:8px}
.btn-mini{padding:5px 10px;background:#f0f0f0;border:1px solid #ccc;border-radius:4px;cursor:pointer;margin-left:6px}
.btn-mini.btn-del{background:#fdecea;color:#c0392b;border-color:#f5c6cb}
.batch-bar{margin-top:12px;padding:10px;background:#f7f9fc;border:1px solid #e3e3e3;border-radius:4px}
.table-edit{width:100%;border-collapse:collapse;background:#fff}
.table-edit td{border:1px solid #e3e3e3;padding:10px 12px;vertical-align:top}
.table-edit .tl{width:110px;color:#555;font-weight:600;background:#fafcff}
.input-long{width:90%;padding:7px 10px;border:1px solid #ccc;border-radius:4px}
.input-short{width:90px;padding:6px 8px;border:1px solid #ccc;border-radius:4px;margin-right:6px}
.input-num{width:64px;padding:5px 6px;border:1px solid #ccc;border-radius:4px}
.img-preview{max-width:200px;margin-bottom:8px}
.img-preview img{max-width:100%;border:1px solid #ddd;border-radius:4px}
.detail-box{background:#fff;padding:20px;border-radius:6px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.detail-box h2{color:#1a5fb4;margin-bottom:12px}
.detail-fm{max-width:240px;border:1px solid #ddd;border-radius:4px;margin:8px 0}
.pagenav{margin-top:14px;text-align:center}
.pagenav a,.pagenav span{padding:5px 10px;margin:0 3px;border:1px solid #ddd;border-radius:4px;display:inline-block;color:#333}
.pagenav .current{background:#1a5fb4;color:#fff;border-color:#1a5fb4}

/* ===== 蓝底按钮统一强制白字（避免被 a:link/a:hover 全局链接色覆盖） ===== */
.tea-btn-primary,
.ts-filterbar a.active,
.pagination .page-link.active,
.pagination .page-current,
.pagination button,
.all-table .kc-num-cell a:hover,
.kc-list-select-btns button:hover,
.xuanke-link-btn:hover,
li .all-card-nav-link:hover,
.xwt-form .btn,
.all-form-submit input[type="submit"],
.all-form-submit button[type="submit"],
.all-form-btn-primary,
.search-submit,
.btn-submit,
.btn-confirm,
.tea-upload .tea-upload-btn,
.ft-btn-print,
.dash-btn-primary,
.dash-btn-primary:link,
.dash-btn-primary:visited,
.we-search-btn,
.we-pagination a.we-page-active,
.student-nav .nav-item.active,
.pwd-btn-submit,
.btn-return,
.topnav a,
.btn-sub,
.pagenav .current,
.bumen-action-cell a:first-child:hover,
.all-table .kc-num-cell a:hover,
.row-actions .btn-submit,
.row-actions .btn-confirm,
.row-actions .btn-danger,
.btn-xs.btn-confirm,
.bulk-bar .btn-danger{color:#fff!important}
.bumen-action-cell a:first-child:hover,
.all-table .kc-num-cell a:hover,
.topnav a:hover{color:#fff!important}

/* ===== 学生成绩模块 (stu_chengji) 美化样式 ===== */
.center_98{width:98%;max-width:1180px;margin:18px auto;background:#fff;border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,.06);padding:20px 22px}
.center_text{text-align:center;margin:0 0 18px;font-size:22px;font-weight:700;color:#1a5fb4;position:relative;padding-bottom:12px}
.center_text::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:64px;height:3px;border-radius:3px;background:linear-gradient(to right,#1a5fb4,#2d7bc6)}

/* 搜索表单 */
.search_form{margin:0 0 16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#f7f9fc;border:1px solid #e6ecf3;border-radius:8px;padding:12px 14px}
.search_form select,.search_form input[type=text]{padding:8px 12px;border:1px solid #d3dbe6;border-radius:6px;font-size:14px;background:#fff;transition:border-color .15s,box-shadow .15s}
.search_form select:focus,.search_form input[type=text]:focus{outline:none;border-color:#1a5fb4;box-shadow:0 0 0 3px rgba(26,95,180,.12)}
.search_form .button{margin:0}

/* 批量工具条 */
.batch_form{margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;background:#fbfcfe;border:1px dashed #d9e2ee;border-radius:8px}
.batch_form .button{margin:0}

/* 列表表格 */
.table_list{width:100%;border-collapse:collapse;background:#fff;font-size:14px;margin-top:6px;border:2px solid #5b6678}
.table_list th,.table_list td{border:1px solid #7f8da6;padding:10px 12px;text-align:left}
.table_list th{background:#e9eef5;color:#1a5fb4;font-weight:600;white-space:nowrap}
.table_list tr:nth-child(even){background:#fafcff}
.table_list tr:hover{background:#f0f6ff}
.table_list .tc{text-align:center}
.table_list a.button{line-height:1.4}
.table_list th .js-select-all{cursor:pointer}

/* 通用按钮：蓝底白字，悬停反转为白底蓝字 */
.button{padding:6px 14px;background:#1a5fb4;color:#fff;border:1px solid #1a5fb4;border-radius:6px;cursor:pointer;font-size:13px;text-decoration:none;display:inline-block;margin:2px;transition:background .15s,color .15s,border-color .15s,transform .1s,box-shadow .15s}
.button:hover{background:#fff;color:#1a5fb4;border-color:#1a5fb4;box-shadow:0 2px 8px rgba(26,95,180,.2)}
.button:active{transform:translateY(1px)}
.button.danger{background:#c0392b;border-color:#c0392b}
.button.danger:hover{background:#fff;color:#c0392b;border-color:#c0392b;box-shadow:0 2px 8px rgba(192,57,43,.2)}
.button.tiny{padding:5px 10px;font-size:12px;border-radius:5px}
.button.tijiao{background:#27ae60;font-size:15px;padding:10px 26px}
.button.tijiao:hover{background:#1e9e54;box-shadow:0 2px 10px rgba(39,174,96,.35)}

/* 详情 / 编辑 列表 */
.tongyong_ol_ul_1{list-style:none;padding:0;margin:0 0 16px}
.tongyong_ol_ul_1 li{padding:11px 14px;border-bottom:1px solid #eef1f5;font-size:14px;line-height:1.7}
.tongyong_ol_ul_1 li:last-child{border-bottom:none}
.tongyong_ol_ul_1 li:nth-child(odd){background:#fafcff}
.tongyong_ol_ul_1 .a{padding:7px 16px;background:#1a5fb4;color:#fff;border-radius:6px;margin-right:10px;text-decoration:none;display:inline-block;font-size:14px;transition:background .15s,box-shadow .15s}
.tongyong_ol_ul_1 .a:hover{background:#15518f;box-shadow:0 2px 8px rgba(26,95,180,.3)}
.tongyong_ol_ul_1 .span{font-weight:600;color:#1a5fb4}

/* 通用蓝底白字按钮组 all-btn（蓝底黑字 → 蓝底白字；悬停反向换色） */
.all-btn,.all-btn:visited{display:inline-block;padding:7px 18px;margin:0 6px 6px 0;background:#1a5fb4;color:#fff!important;border:1px solid #1a5fb4;border-radius:6px;font-size:14px;line-height:1.4;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s,border-color .15s;box-shadow:0 1px 2px rgba(26,95,180,.18)}
.all-btn:hover,.all-btn:focus{background:#fff;color:#1a5fb4!important;border-color:#1a5fb4;box-shadow:0 2px 8px rgba(26,95,180,.3);text-decoration:none}
.all-btn:active{background:#15518f;color:#fff!important;border-color:#15518f;box-shadow:inset 0 2px 4px rgba(0,0,0,.12)}
.all-btn[disabled],.all-btn.disabled{background:#9bb6d8;color:#fff!important;border-color:#9bb6d8;cursor:not-allowed;box-shadow:none}
.all-btn.danger,.all-btn-danger{background:#c0392b;color:#fff!important;border-color:#c0392b}
.all-btn.danger:hover,.all-btn.danger:focus,.all-btn-danger:hover,.all-btn-danger:focus{background:#fff;color:#c0392b!important;border-color:#c0392b}

/* 编辑表单 */
.edit_form{max-width:760px;margin:0 auto}
.edit_form li{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.edit_form li .span{flex:0 0 110px;padding-top:8px}
.input_t{padding:8px 12px;border:1px solid #d3dbe6;border-radius:6px;width:60%;max-width:420px;font-size:14px;transition:border-color .15s,box-shadow .15s}
.input_t:focus{outline:none;border-color:#1a5fb4;box-shadow:0 0 0 3px rgba(26,95,180,.12)}

/* 班级多选 */
.banji-chk{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;margin:3px 4px 3px 0;background:#f4f7fb;border:1px solid #e0e6ed;border-radius:18px;font-size:13px;cursor:pointer;transition:background .15s,border-color .15s}
.banji-chk:hover{background:#e9f1fb;border-color:#b9d2f0}
.banji-chk input{margin:0}

/* 封面图预览 */
.img_area{margin:8px 0;min-height:20px}
.img_area img,.preview_img{max-width:240px;border:1px solid #e0e6ed;border-radius:8px;display:block;margin-top:8px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.detail_pic{max-width:260px;border:1px solid #e0e6ed;border-radius:8px;margin:10px 0;box-shadow:0 1px 4px rgba(0,0,0,.08)}

/* 提交按钮区 */
.div_a_sub{margin-top:20px;text-align:center;padding-top:16px;border-top:1px solid #eef1f5}

/* 错误提示 */
.ts{background:#fdecea;color:#c0392b;border:1px solid #f5c6cb;padding:12px 16px;border-radius:8px;margin-bottom:14px;font-size:14px}

/* 分页适配 */
.center_98 .pagenav{margin-top:18px}

/* 详情卡片在模块容器内铺满 */
.center_98 .detail-box{box-shadow:none;padding:0}

/* ===== 对外发布文章-专题下拉层级缩进 ===== */
.zhuanti-level-1{font-weight:500}
.zhuanti-level-2{color:#555;padding-left:2.4rem}
.zhuanti-level-3{color:#777;padding-left:3.6rem}
.zhuanti-level-4{color:#999;padding-left:4.8rem}
.zhuanti-level-5{color:#aaa;padding-left:6rem}


