.header {
    border-top: solid 3px black;
}

.menu {
    border-top: solid 3px orangered;
    background-color: #E60012;
}

.dropdown-menu {
    background-color: #E60012;
}

body {
    background-color: rgb(241, 241, 241);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* 主体内容区伸展占满剩余高度: 内容少时页脚贴底, 不跑到页面中间 */
body > .container {
    flex: 1 0 auto;
}

@media (min-width: 1280px) {
    .container {
        max-width: 1300px;
    }
}

.menu-bar a:link, .menu-bar a:visited {
    color: white;
}

.menu-bar a:hover {
    color: black;
}

/* 为所有DIV元素设置圆角边框 */
div {
    border-radius: 5px;
}

/* 为全站所有超链接设置基本样式 */
a:link, a:visited {
    text-decoration: none;
    color: blue;
}

a:hover, a:active {
    text-decoration: none;
    color: #e56244;
}

/* 首页文章列表栏样式 */
.article-list {
    border: solid 1px #cccccc;
    margin: 10px 0px;
    background-color: whitesmoke;
    padding: 15px 0px;
}

/* 新闻式纯标题列表样式 */
.news-list {
    border-bottom: solid 1px #e5e5e5;
    margin: 0px;
    padding: 12px 6px;
    background-color: #ffffff;
}

.news-list .news-title {
    font-size: 18px;
    color: #222222;
}

.news-list .news-title a {
    color: #E60012;
}

.news-list .news-title a:visited {
    color: #E60012;
}

.news-list .news-title a:hover {
    color: blue;
}

.news-list .news-meta {
    font-size: 13px;
    color: #999999;
    margin-top: 4px;
}

/* 两列模块化布局 */
.module-columns {
    margin: 0 -5px;
}

.module-column {
    padding: 0 5px;
}

.module-box {
    margin: 0 0 15px 0;
    border: solid 1px #e5e5e5;
    border-radius: 4px;
    overflow: hidden;
    background-color: #ffffff;
}

.module-box .module-head {
    background-color: #E60012;
    color: #ffffff;
    font-size: 17px;
    font-weight: bold;
    padding: 10px 14px;
}

.module-box .module-head a {
    color: #ffffff;
}

.module-box .module-head a:hover {
    color: #ffe0d6;
    text-decoration: none;
}

.module-box .news-list {
    border-bottom: solid 1px #f0f0f0;
    padding: 10px 14px;
}

.module-box .news-list:last-child {
    border-bottom: none;
}

/* 一级菜单页标题 */
.category-title {
    padding: 10px 4px;
}

.category-title h4 {
    margin: 0;
    color: #222222;
    border-left: 4px solid #e56244;
    padding-left: 10px;
}

.article-list .thumb {
    margin: 0px;
    padding: 2px 10px 0 0;
}

.article-list .thumb img {
    width: 210px;
    height: 125px;
}

.article-list .detail {
    padding: 0px 10px;
}

.article-list .detail .title {
    font-size: 22px;
    color: #e56244;
    margin-bottom: 10px;
}

.article-list .detail .info {
    font-size: 14px;
    color: #666666;
    margin-bottom: 10px;
}

.article-list .detail .intro {
    font-size: 16px;
    word-break: break-all;
    word-wrap: break-word;
    line-height: 25px;
}

/* 右边框样式 */
.side {
    margin-top: 20px;
    border: solid 1px #cccccc;
    padding: 0px 0px;
    background-color: whitesmoke;
}

.side .tip {
    background-color: #E60012;
    height: 42px;
    color: white;
    line-height: 42px;
    padding-left: 10px;
    border-radius: 0px;
    font-size: 18px;
    border-bottom: solid 2px #D0A830;
}

.side ul {
    list-style: none;
    padding-left: 0px;
}

.side ul li {
    line-height: 35px;
    padding-left: 10px;
    color: #E60012;
}

.side ul li a {
    color: #E60012;
}

.side ul li a:hover {
    color: blue;
}

/* 底部栏样式 */
.footer {
    background-color: #E60012;
    margin-top: 20px;
    margin-bottom: 0px;
    padding: 0px;
    border-radius: 0px;
    color: white;
}

.footer .left {
    font-size: 16px;
    margin: 20px 0px;
}

.footer .center {
    font-size: 16px;
    margin: 20px 0px;
    text-align: center;
}

.footer .right {
    font-size: 16px;
    margin: 20px 0px;
    text-align: right;
}

.footer a:link, .footer a:visited {
    text-decoration: none;
    color: white;
}

.footer a:hover, .footer a:active {
    text-decoration: none;
    color: white;
}

/* 文章阅读页面样式 */
.article-detail {
    border: solid 1px #cccccc;
    margin: 0px;
    background-color: whitesmoke;
    padding: 0px 10px 0px 20px;
}

.article-detail .title {
    font-size: 24px;
    color: orangered;
    margin-top: 30px;
    font-weight: bold;
}

.article-detail .favorite {
    margin: 30px 0px;
    padding-top: 5px;
    text-align: right;
}

.article-detail .readall {
    margin: 20px 0px;
    text-align: center;
}

.article-detail .readall button {
    height: 45px;
    background-color: #337AB7;
    border: 0;
    border-radius: 5px;
    color: white;
    font-weight: bold;
}

.article-detail .favorite label {
    font-weight: normal;
    color: #337AB7;
    cursor: pointer;
}

.article-detail .info {
    font-size: 14px;
    color: #666666;
    padding-bottom: 20px;
    border-bottom: solid 1px #cccccc;
    margin-bottom: 20px;
}

.article-detail .content {
    font-size: 16px;
    word-break: break-all;
    word-wrap: break-word;
}

.article-detail .content img {
    border: solid 1px #999999;
    display: block;
    max-width: 100%;
    height: auto;
}

.article-nav {
    border: solid 1px #cccccc;
    margin: 10px 0px;
    background-color: whitesmoke;
    padding: 10px 10px 10px 20px;
    line-height: 35px;
}

.article-comment {
    border: solid 1px #cccccc;
    margin: 10px 0px;
    background-color: whitesmoke;
    padding: 20px 0px 10px 0px;
    line-height: 35px;
}

.article-comment .list {
    margin: 0px 0px 10px 0px;
    border-top: solid 1px #cccccc;
    padding-top: 10px;
}

.article-comment .list .icon {
    margin: 0px;
    padding-top: 10px;
    text-align: right;
}

.article-comment .list .icon img {
    margin-right: 30px;
}

.article-comment .list .comment {
    padding: 0px 0px;
}

.article-comment .list .comment .commenter {
    font-size: 14px;
    color: #666666;
}

.article-comment .list .comment .content {
    font-size: 16px;
    padding-left: 0px;
}

.article-comment .list .comment .reply {
    text-align: right;
}

.article-comment .list .comment .reply label {
    font-weight: normal;
    color: #337AB7;
    cursor: pointer;
}

/* 分页栏样式 */
.paginate {
    border: solid 1px #cccccc;
    margin: 5px 0px;
    background-color: whitesmoke;
    padding: 20px 0px;
    text-align: center;
}

/* ThinkPHP的pagination样式 */
.paginate li {
    padding-left: 20px;
}

/* 类型页(游资江湖-龙虎榜)分页窗口化: 当前页/省略号/跳转框 */
.type-paginate {
    font-size: 13px;
    line-height: 2;
}

.type-paginate-current {
    display: inline-block;
    min-width: 22px;
    padding: 0 5px;
    text-align: center;
    background-color: #d1351f;
    color: #ffffff;
    border-radius: 3px;
    font-weight: bold;
}

.type-paginate-ellipsis {
    color: #999999;
    padding: 0 2px;
}

.type-paginate .type-page-link,
.type-paginate .seat-page-link {
    color: #337ab7;
    text-decoration: none;
}

.type-paginate .type-page-link:hover,
.type-paginate .seat-page-link:hover {
    color: #d1351f;
    text-decoration: underline;
}

.type-jump-form {
    display: inline-block;
    margin: 0;
}

.type-jump-input {
    width: 64px;
    padding: 0 4px;
    font-size: 13px;
    line-height: 1.6;
    border: solid 1px #cccccc;
    border-radius: 3px;
}

.type-jump-btn {
    margin-left: 4px;
}

/* 席位表排序表头链接: 箭头指示 + 激活态 */
.seat-sort-link {
    color: #333333;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.seat-sort-link:hover {
    color: #d1351f;
}

.seat-sort-link.active {
    color: #d1351f;
    font-weight: bold;
}

.seat-sort-arrow {
    font-size: 10px;
    margin-left: 2px;
}

/* 登录注册模态框样式 */
#mymodal .nav-tabs>li>a {
	width: 80px;
	text-align: center;
	padding: 0;
	border: 0;
	background: none;
	line-height: 43px;
	color: #fff;
}

#mymodal .nav-tabs {
	border: 0;
}

#mymodal .nav-tabs>li.active>a,
#mymodal .nav-tabs>li.active>a:hover,
#mymodal .nav-tabs>li.active>a:focus {
	opacity: 1;
	color: #FFFFFF;
	cursor: default;
	border-bottom: 2px solid #FFFFFF;
	line-height: 43px;
	/*background-color: #fff;*/
}

/* 为markdown设置css */
.highlight {
    color: black;
    background-color: darkgrey;
}

/* 打赏处样式 */
.article-pay {
    border: solid 1px #cccccc;
    margin: 10px 0px;
    background-color: whitesmoke;
    padding: 10px 10px 10px 20px;
    color: blue;
    font-size: 24px;
}

.article-pay-desc {
    color: #e53935;
    font-weight: bold;
}

.admin-side {
    margin: 10px 0px;
    border: solid 1px #cccccc;
    padding: 20px 0px;
    background-color: whitesmoke;
}

.admin-side ul {
    list-style: none;
}

.admin-side li {
    line-height: 40px;
}

.admin-main {
    border: solid 1px #cccccc;
    margin: 10px 0px;
    background-color: whitesmoke;
    padding: 15px 0px;
}

/* ============ A股指数行情面板(参考同花顺) ============ */
.index-market-panel {
    background: #ffffff;
    border: solid 1px #e0e0e0;
    border-radius: 5px;
    overflow: hidden;
}

.index-market-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-bottom: solid 1px #eeeeee;
    background: #fafafa;
}

.index-market-title {
    font-size: 15px;
    font-weight: bold;
    color: #E60012;
}

.index-market-update {
    font-size: 12px;
    color: #999999;
}

.index-market-body {
    display: flex;
    min-height: 340px;
}

/* 左侧大图 */
.index-market-chart {
    flex: 1;
    padding: 10px 12px 12px;
    border-right: solid 1px #eeeeee;
    min-width: 0;
}

.imc-head {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.imc-name {
    font-size: 16px;
    font-weight: bold;
    color: #333333;
    cursor: pointer;
    margin-right: 10px;
}

.imc-name:hover {
    color: #E60012;
}

.imc-price {
    font-size: 18px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    margin-right: 10px;
}

.imc-change {
    font-size: 13px;
    font-family: Arial, sans-serif;
    margin-right: 8px;
}

.imc-percent {
    font-size: 13px;
    font-family: Arial, sans-serif;
}

.imc-tabs {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.imc-tab {
    background: none;
    border: none;
    padding: 4px 10px;
    font-size: 13px;
    color: #666666;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    outline: none;
    white-space: nowrap;
}

.imc-tab.active {
    color: #E60012;
    border-bottom-color: #E60012;
    font-weight: bold;
}

#market-panel-canvas {
    display: block;
    width: 100%;
    height: auto;
    cursor: pointer;
}

/* 右侧指数列表 */
.index-market-list {
    width: 210px;
    flex-shrink: 0;
    overflow-y: auto;
}

.iml-row {
    display: flex;
    align-items: center;
    padding: 9px 12px;
    cursor: pointer;
    border-bottom: solid 1px #f5f5f5;
    transition: background-color 0.15s;
}

.iml-row:hover {
    background-color: #f7f7f7;
}

.iml-row.active {
    background-color: #fdeaea;
    border-left: 3px solid #E60012;
}

.iml-name {
    flex: 1;
    font-size: 13px;
    color: #333333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.iml-price {
    font-size: 14px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    margin-right: 8px;
    min-width: 62px;
    text-align: right;
}

.iml-percent {
    font-size: 12px;
    font-family: Arial, sans-serif;
    min-width: 48px;
    text-align: right;
}

/* 移动端: 列表放下面 */
@media (max-width: 768px) {
    .index-market-body {
        flex-direction: column;
    }
    .index-market-chart {
        border-right: none;
        border-bottom: solid 1px #eeeeee;
    }
    .index-market-list {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }
    .iml-row {
        width: 50%;
        border-bottom: solid 1px #f5f5f5;
    }
}

/* ============ 走势图弹窗 ============ */
.market-modal-mask {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
}

.market-modal {
    background: #ffffff;
    border-radius: 8px;
    width: 880px;
    max-width: 92vw;
    max-height: 88vh;
    overflow-y: auto;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

.market-modal-head {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-bottom: solid 1px #eeeeee;
    background: #fafafa;
}

.market-modal-title {
    font-size: 17px;
    font-weight: bold;
    color: #333333;
}

/* 龙虎榜"榜"徽标(弹窗标题旁) */
.market-modal-badge {
    margin-left: 8px;
    display: inline-block;
    padding: 0 6px;
    border-radius: 3px;
    font-size: 12px;
    line-height: 18px;
    font-weight: bold;
    color: #ffffff;
    background: #d1351f;
    vertical-align: middle;
}

.market-modal-sub {
    margin-left: 12px;
    font-size: 13px;
    color: #999999;
    flex: 1;
}

.market-modal-close {
    font-size: 22px;
    color: #999999;
    cursor: pointer;
    line-height: 1;
    padding: 0 4px;
}

.market-modal-close:hover {
    color: #E60012;
}

.market-modal-tabs {
    display: flex;
    flex-wrap: wrap;
    padding: 0 16px;
    border-bottom: solid 1px #eeeeee;
}

.mm-tab {
    background: none;
    border: none;
    padding: 10px 14px;
    font-size: 14px;
    color: #666666;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    outline: none;
    white-space: nowrap;
}

.mm-tab.active {
    color: #E60012;
    border-bottom-color: #E60012;
    font-weight: bold;
}

.market-modal-body {
    padding: 12px 16px 16px;
}

.market-modal-body canvas {
    display: block;
    width: 100%;
    height: auto;
}

#market-chart-canvas {
    cursor: crosshair;
    touch-action: none;
    user-select: none;
}

/* 指标区切换标签(成交量/成交额/MACD) */
.mk-indicator-tabs {
    display: flex;
    justify-content: flex-start;
    padding: 6px 0 0;
    gap: 4px;
}

.mki-tab {
    background: #f5f5f5;
    border: 1px solid #ddd;
    padding: 3px 14px;
    font-size: 12px;
    color: #666;
    cursor: pointer;
    border-radius: 3px;
    outline: none;
    font-family: inherit;
}

.mki-tab:hover {
    background: #e8e8e8;
}

.mki-tab.active {
    background: #E60012;
    color: #fff;
    border-color: #E60012;
}

/* K线悬浮属性框 */
.mk-tip {
    position: absolute;
    display: none;
    z-index: 10;
    background: rgba(255, 255, 255, 0.97);
    border: solid 1px #dddddd;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
    font-size: 12px;
    color: #333333;
    padding: 8px 10px;
    line-height: 1.9;
    white-space: nowrap;
    pointer-events: none;
}

.mk-tip .mk-tip-date {
    font-weight: bold;
    color: #333333;
    border-bottom: solid 1px #eeeeee;
    padding-bottom: 4px;
    margin-bottom: 4px;
}

.mk-tip .mk-tip-row {
    display: flex;
    align-items: center;
    gap: 14px;
}

.mk-tip .mk-tip-row + .mk-tip-row {
    margin-top: 2px;
}

.mk-tip .mk-tip-label {
    color: #999999;
    min-width: 46px;
}

.mk-tip .mk-tip-val {
    color: #333333;
    font-weight: bold;
    min-width: 66px;
    text-align: right;
}

.mk-tip .mk-tip-val.up {
    color: #E60012;
}

.mk-tip .mk-tip-val.down {
    color: #009944;
}

/* ============ 龙虎榜席位表格(游资江湖-龙虎榜 250005) ============ */
/* 席位表格标题: 龙虎榜席位(橙色大号加粗, 有标题的样子) */
.seat-table-title {
    font-size: 20px;
    font-weight: bold;
    color: #d1351f;
    padding: 16px 2px 0 2px;
}

.seat-table-note {
    font-size: 13px;
    color: #888888;
    padding: 8px 2px 12px 2px;
    line-height: 1.9;
}

/* 席位表格顶部两行: 第1行 时间范围+计数, 第2行 搜索框(放到计数后面) */
.seat-note-row {
    margin-bottom: 8px;
}

/* 席位搜索: 关键字输入 + 类型下拉 + 搜索按钮(独立行, 位于"共 XX 个席位"之后) */
.seat-search-form {
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap;
}

.seat-search-form .seat-search-input {
    width: 180px;
    height: 30px;
    padding: 0 8px;
    font-size: 13px;
    border: 1px solid #ced4da;
    border-radius: 3px;
    outline: none;
    vertical-align: middle;
}

.seat-search-form .seat-search-input:focus {
    border-color: #80bdff;
    box-shadow: 0 0 0 0.1rem rgba(0, 123, 255, 0.15);
}

.seat-search-form .seat-search-class {
    height: 30px;
    padding: 0 4px;
    font-size: 13px;
    border: 1px solid #ced4da;
    border-radius: 3px;
    outline: none;
    vertical-align: middle;
    max-width: 160px;
}

.seat-search-form .seat-search-btn {
    height: 30px;
    padding: 0 12px;
    font-size: 13px;
    line-height: 1;
    vertical-align: middle;
}

/* 日期输入框统一样式 */
.seat-table-note .seat-date-input {
    vertical-align: middle;
}

.seat-table {
    font-size: 13px;
    background: #ffffff;
}

.seat-table thead th {
    background-color: #f5f5f5;
    border-bottom: solid 2px #e0e0e0;
    white-space: nowrap;
    font-weight: 600;
}

.seat-table tbody td {
    vertical-align: middle;
    white-space: nowrap;
}

.seat-table .seat-name {
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.seat-table .text-right {
    text-align: right;
}

.seat-table .seat-money.text-danger {
    color: #d1351f;
}

.seat-table .seat-money.text-success {
    color: #009944;
}

/* 席位收藏星标 */
.seat-fav-col {
    text-align: center;
    cursor: default;
}
.seat-fav-star {
    cursor: pointer;
    font-size: 24px;
    color: #ccc;
    user-select: none;
    transition: color 0.2s, transform 0.15s;
}
.seat-fav-star:hover {
    color: #f5a623;
    transform: scale(1.15);
}
.seat-fav-star.seat-fav-active {
    color: #f5a623;
    transform: scale(1);
}
.seat-fav-star.seat-fav-active:hover {
    color: #e0900a;
}

/* 席位详情页上下导航按钮 */
.seat-nav-btn {
    display: inline-block;
    vertical-align: middle;
    margin-left: 2px;
    padding: 0 6px;
    font-size: 14px;
    color: #007bff;
    text-decoration: none;
    border: 1px solid #dee2e6;
    border-radius: 3px;
    line-height: 1.6;
}
.seat-nav-btn:hover {
    color: #0056b3;
    background: #f0f7ff;
    border-color: #007bff;
    text-decoration: none;
}

/* 席位类型徽标 */
.seat-badge {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 3px;
    font-size: 12px;
    white-space: nowrap;
}

.seat-class-youzi {
    background-color: #fdece8;
    color: #d1351f;
    border: solid 1px #f5b7a7;
}

.seat-class-jigou {
    background-color: #eef4fb;
    color: #2b6cb0;
    border: solid 1px #b7d4f0;
}

.seat-class-foreign {
    background-color: #f6eefb;
    color: #805ad5;
    border: solid 1px #d4b9f0;
}

.seat-class-lasa {
    background-color: #fdf6e8;
    color: #d69e2e;
    border: solid 1px #f0dfb7;
}

.seat-class-normal {
    background-color: #f0f0f0;
    color: #666666;
    border: solid 1px #dddddd;
}

/* 席位明细页头部: 标题加大加粗, 上方留空隙, 与列表页"龙虎榜席位"标题一致 */
.seat-detail-head {
    margin-top: 10px;
    margin-bottom: 12px;
}

.seat-detail-title {
    display: inline-block;
    margin: 0 8px 0 0;
    font-size: 20px;
    font-weight: bold;
    color: #d1351f;
    line-height: 1.4;
}

/* 明细页席位类型徽标(知名游资具体名/机构/外资等) */
.seat-class-youzi-tag {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 3px;
    font-size: 12px;
    white-space: nowrap;
    background-color: #fdece8;
    color: #d1351f;
    border: solid 1px #f5b7a7;
    vertical-align: middle;
}

/* ============ 基本面-分红: 今日分红页 ============ */
/* 页面标题: 红色加粗加大(需求: 页面标题位置显示"今日分红", 红色字体, 加粗, 加大) */
.dividend-page-title {
    display: inline-block;
    margin: 0 8px 0 0;
    font-size: 24px;
    font-weight: bold;
    color: #d1351f;
    line-height: 1.4;
}

/* 分红方案说明列: 允许换行(方案文案较长, 不截断) */
.dividend-table .dividend-plan-cell {
    white-space: normal;
    min-width: 220px;
    max-width: 380px;
    word-break: break-all;
}

/* 分红详情弹窗: 比走势图弹窗略窄 */
.dividend-modal {
    width: 720px;
    max-width: 92vw;
}

.dividend-modal .dividend-modal-body {
    max-height: 70vh;
    overflow-y: auto;
}

.dividend-modal .dividend-modal-body .dividend-plan-cell {
    white-space: normal;
    min-width: 200px;
    max-width: 320px;
    word-break: break-all;
}

/* ============ 首页 今日分红 面板(与 A股指数行情 同格式) ============ */
.index-dividend-body {
    padding: 12px 14px;
    background: #ffffff;
    overflow-x: auto;
}

/* ============ 首页 近一个月集合竞价二进三 面板(与今日分红同格式) ============ */
.index-ej3-body {
    padding: 12px 14px;
    background: #ffffff;
    overflow-x: auto;
}

.index-ej3-body .table {
    margin-bottom: 0;
}

/* ============ 首页 今日市场天梯 面板(连板数据) ============ */
.index-lianban-body {
    padding: 12px 14px;
    background: #ffffff;
    overflow-x: hidden;
}

.index-lianban-body .table {
    margin-bottom: 0;
}

/* 首页 今日市场天梯表格: 宽度固定为容器宽度, 股票多时第二列自动换行多行显示(不出现水平滚动条) */
.lianban-home-table {
    table-layout: fixed;
    width: 100%;
}

.lianban-home-table thead th:first-child,
.lianban-home-table tbody td.lianban-height-cell {
    width: 88px;
}

/* 覆盖 .seat-table tbody td 的 nowrap: 第二列(涨停股)允许换行, 行内条目自动折行 */
.lianban-home-table tbody td.lianban-home-stocks {
    white-space: normal;
}

/* 首页模块内单个涨停股条目: 封板时间/名称/行业 纵向排列 */
.lianban-home-item {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    margin: 2px 10px 6px 0;
    min-width: 72px;
}

/* 首页模块第二列(涨停股): 宽度约束 + 自动换行, 股票多时动态折行 */
.lianban-home-stocks {
    line-height: 1.4;
    word-break: break-word;
}

/* 空板行(该高度无股票): 第二列置空显示占位 */
.lianban-home-stocks.lianban-empty {
    height: 28px;
}

/* 封板时间: 名称上方, 比名称小一点 */
.lianban-home-seal {
    font-size: 11px;
    color: #999999;
    line-height: 1.3;
    margin-bottom: 1px;
}

/* 股票名称: 加粗 */
.lianban-home-name {
    font-weight: bold;
    font-size: 13px;
    display: inline-block;
}

.lianban-home-name:hover {
    color: #E60012;
    text-decoration: underline;
}

/* 所属行业: 名称下方, 红色小字 */
.lianban-home-industry {
    font-size: 10px;
    color: #d1351f;
    line-height: 1.3;
    margin-top: 1px;
}

/* 首页天梯区: 被收藏席位 → 橙色背景高亮 */
.lianban-home-item.lianban-fav-hint {
    background: #ffb74d;
    border-radius: 4px;
    padding: 2px 6px;
    margin: 0 4px 4px 0;
}

/* 龙虎榜弹窗: 红榜圆形徽章(红色底+金色字+阴影醒目) */
.lhb-red-badge {
    display: inline-block;
    background: #d1351f;
    color: #ffd700;
    font-size: 14px;
    font-weight: bold;
    padding: 3px 10px;
    margin-left: 8px;
    line-height: 1.6;
    border-radius: 20px;
    box-shadow: 0 2px 6px rgba(209, 53, 31, 0.45);
}

/* 市场天梯(type 260001)表格: 高度列合并单元格样式 */
.lianban-table .lianban-height-cell {
    background: #fafafa;
    vertical-align: middle;
    white-space: nowrap;
    color: #E60012;
}

.lianban-table .lianban-height-cell strong {
    font-size: 14px;
}

/* 市场天梯(260001)表格: 炸板行/封板时间颜色 */
/* 炸板行整行弱化(浅灰背景) */
.lianban-table tbody tr.lianban-zhaban-row {
    background: #f5f5f5;
    color: #999999;
}

/* 封板时间列: 炸板显示绿色"炸板" */
.lianban-table td.lianban-seal-zhaban {
    color: #28a745;
    font-weight: bold;
}

/* 封板时间列: 一字板/封板时间用红色字体 */
.lianban-table td.lianban-seal-time {
    color: #d1351f;
    font-weight: bold;
}

/* 首页炸板股封板时间: 绿色"炸板" */
.lianban-home-seal-zhaban {
    color: #28a745;
    font-weight: bold;
}

/* 首页天梯区龙虎榜"榜"徽标: 圆圈内一个榜字, 红色 */
.lianban-lhb-badge {
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    font-size: 11px;
    font-weight: bold;
    color: #ffffff;
    background: #d1351f;
    border: 1.5px solid #a0100a;
    border-radius: 50%;
    cursor: pointer;
    vertical-align: middle;
    margin-left: 4px;
    user-select: none;
    transition: background 0.15s, transform 0.15s;
}
.lianban-lhb-badge:hover {
    background: #e6452f;
    transform: scale(1.12);
}

/* 市场天梯日期选择栏: 标题下方、表格上方独立一行 */
.lianban-date-bar {
    display: flex;
    align-items: center;
    padding: 6px 14px;
    border-bottom: solid 1px #eeeeee;
    background: #fff;
    position: relative;
}
.lianban-date-bar-label {
    font-size: 13px;
    color: #666;
    margin-right: 6px;
}
.lianban-date-bar-value {
    font-size: 13px;
    color: #E60012;
    font-weight: bold;
    cursor: pointer;
    user-select: none;
    padding: 2px 8px;
    border-radius: 3px;
    transition: background 0.12s;
}
.lianban-date-bar-value:hover {
    background: #fce4e4;
}
.lianban-date-arrow {
    font-size: 10px;
    color: #999;
    margin-left: 2px;
}
/* 日历弹窗: 从日期栏下方弹出 */
.lianban-calendar-popup {
    position: absolute;
    top: 100%;
    left: 14px;
    z-index: 1000;
    background: #fff;
    border: solid 1px #ddd;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    padding: 10px 12px;
    min-width: 280px;
    margin-top: 2px;
}
.lianban-calendar-nav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
.lianban-calendar-nav {
    background: none;
    border: solid 1px #ddd;
    border-radius: 3px;
    width: 28px;
    height: 28px;
    font-size: 16px;
    line-height: 1;
    color: #555;
    cursor: pointer;
    padding: 0;
}
.lianban-calendar-nav:hover {
    background: #f0f0f0;
    color: #E60012;
}
.lianban-calendar-month-label {
    font-size: 13px;
    font-weight: bold;
    color: #333;
}
.lianban-calendar-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-size: 11px;
    color: #999;
    margin-bottom: 4px;
}
.lianban-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}
.lianban-cal-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1;
    font-size: 12px;
    color: #333;
    border-radius: 3px;
    cursor: pointer;
    transition: background 0.1s, color 0.1s;
}
.lianban-cal-cell:hover {
    background: #f0f0f0;
}
.lianban-cal-cell.other-month {
    color: #ccc;
    cursor: default;
}
.lianban-cal-cell.other-month:hover {
    background: transparent;
}
.lianban-cal-cell.has-data {
    color: #E60012;
    font-weight: bold;
}
.lianban-cal-cell.has-data:hover {
    background: #fce4e4;
}
.lianban-cal-cell.no-data {
    color: #bbb;
    cursor: default;
}
.lianban-cal-cell.no-data:hover {
    background: transparent;
}
.lianban-cal-cell.selected {
    background: #E60012;
    color: #fff !important;
}
.lianban-cal-cell.today {
    border: 1.5px solid #E60012;
}

/* 龙虎榜弹窗(首页天梯区"榜"徽标点击) */
.lhb-popup-mask {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10001;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lhb-popup {
    background: #ffffff;
    border-radius: 8px;
    width: 780px;
    max-width: 92vw;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
}
.lhb-popup-head {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-bottom: solid 1px #eeeeee;
    background: #fafafa;
    border-radius: 8px 8px 0 0;
    flex-shrink: 0;
}
.lhb-popup-title {
    font-size: 16px;
    font-weight: bold;
    color: #d1351f;
    flex: 1;
}
.lhb-popup-close {
    font-size: 22px;
    color: #999;
    cursor: pointer;
    line-height: 1;
    padding: 0 4px;
}
.lhb-popup-close:hover { color: #d1351f; }
.lhb-popup-body {
    padding: 12px 16px;
    overflow-y: auto;
    flex: 1;
}
.lhb-popup-table {
    font-size: 13px;
    margin-bottom: 0;
}
.lhb-popup-table thead th {
    background: #f5f5f5;
    border-bottom: 2px solid #e0e0e0;
    white-space: nowrap;
    font-weight: 600;
}
.lhb-popup-table tbody td {
    vertical-align: middle;
    white-space: nowrap;
}

.index-dividend-body .table {
    margin-bottom: 0;
}

.index-dividend-body .dividend-plan-cell {
    white-space: normal;
    min-width: 220px;
    max-width: 380px;
    word-break: break-all;
}

.index-dividend-body .dividend-stock-link {
    color: #d1351f;
    cursor: pointer;
}

.index-dividend-body .dividend-stock-link:hover {
    color: #E60012;
    text-decoration: underline;
}

/* ============ 二进三(type 240001) 竞价涨停确认 ============ */
/* 结论统计行: 筛选器下方、列表上方 */
.ej3-summary {
    margin: 8px 0;
    padding: 6px 12px;
    font-size: 13px;
    color: #555555;
    background: #fff8e6;
    border: 1px solid #f0dfb7;
    border-radius: 3px;
}

/* 竞价涨停单元格: 是/否复选框 + 小号提交按钮 横向排列 */
.ej3-auction-cell,
.ej3-bottom-cell {
    white-space: nowrap;
}

/* 标签包裹复选框: 点击文字同样可切换勾选 */
.ej3-auction-label,
.ej3-bottom-label {
    display: inline-block;
    margin: 0 4px 0 0;
    font-size: 12px;
    color: #666666;
    vertical-align: middle;
    cursor: pointer;
    font-weight: normal;
}

.ej3-auction-label input[type="checkbox"],
.ej3-bottom-label input[type="checkbox"] {
    margin: 0 2px 0 0;
    vertical-align: middle;
    cursor: pointer;
}

/* 小号提交按钮: 与查询/筛选按钮一致的主蓝色背景白字 (btn-primary #007bff) */
.ej3-auction-submit,
.ej3-bottom-submit {
    margin-left: 4px;
    padding: 0 5px;
    font-size: 11px;
    line-height: 1.6;
    color: #ffffff;
    background: #007bff;
    border: 1px solid #007bff;
    border-radius: 3px;
    cursor: pointer;
    vertical-align: middle;
}

.ej3-auction-submit:hover,
.ej3-bottom-submit:hover {
    background: #0069d9;
    border-color: #0062cc;
}

/* 已提交状态: 按钮变为"修改"时切换为绿色 */
.ej3-auction-submit.saved,
.ej3-bottom-submit.saved {
    background: #5cb85c;
    border-color: #4cae4c;
}

.ej3-auction-submit.saved:hover,
.ej3-bottom-submit.saved:hover {
    background: #449d44;
    border-color: #398439;
}

/* 批量提交行: 表格上方, 汇总当前页勾选的竞价涨停确认 */
.ej3-batch-row {
    margin-top: 2px;
    margin-bottom: 6px;
    font-size: 13px;
    color: #666666;
}

.ej3-batch-row .ej3-batch-count {
    font-weight: bold;
    color: #337ab7;
}

.ej3-batch-row .ej3-batch-status {
    margin-left: 8px;
    font-size: 12px;
}

/* 表头"竞价涨停"格内的批量提交行 */
.ej3-auction-th {
    min-width: 150px;
}

.seat-table thead th .ej3-batch-row {
    margin: 4px 0 0;
    font-size: 12px;
    line-height: 1.8;
}

.seat-table thead th .ej3-batch-row .btn {
    font-size: 12px;
    padding: 1px 8px;
}

/* 表头批量全选框: 是/否 */
.seat-table thead th .ej3-batch-row .ej3-batch-select {
    font-weight: normal;
    margin-left: 4px;
    cursor: pointer;
    white-space: nowrap;
}

.seat-table thead th .ej3-batch-row .ej3-batch-select input {
    vertical-align: middle;
    margin-right: 2px;
}

/* ============ 一进二(type 240002) 竞价涨停确认(与二进三镜像) ============ */
/* 结论统计行: 筛选器下方、列表上方 */
.yj2-summary {
    margin: 8px 0;
    padding: 6px 12px;
    font-size: 13px;
    color: #555555;
    background: #fff8e6;
    border: 1px solid #f0dfb7;
    border-radius: 3px;
}

/* 竞价涨停单元格: 是/否复选框 + 小号提交按钮 横向排列 */
.yj2-auction-cell,
.yj2-bottom-cell {
    white-space: nowrap;
}

/* 标签包裹复选框: 点击文字同样可切换勾选 */
.yj2-auction-label,
.yj2-bottom-label {
    display: inline-block;
    margin: 0 4px 0 0;
    font-size: 12px;
    color: #666666;
    vertical-align: middle;
    cursor: pointer;
    font-weight: normal;
}

.yj2-auction-label input[type="checkbox"],
.yj2-bottom-label input[type="checkbox"] {
    margin: 0 2px 0 0;
    vertical-align: middle;
    cursor: pointer;
}

/* 小号提交按钮: 与查询/筛选按钮一致的主蓝色背景白字 (btn-primary #007bff) */
.yj2-auction-submit,
.yj2-bottom-submit {
    margin-left: 4px;
    padding: 0 5px;
    font-size: 11px;
    line-height: 1.6;
    color: #ffffff;
    background: #007bff;
    border: 1px solid #007bff;
    border-radius: 3px;
    cursor: pointer;
    vertical-align: middle;
}

.yj2-auction-submit:hover,
.yj2-bottom-submit:hover {
    background: #0069d9;
    border-color: #0062cc;
}

/* 已提交状态: 按钮变为"修改"时切换为绿色 */
.yj2-auction-submit.saved,
.yj2-bottom-submit.saved {
    background: #5cb85c;
    border-color: #4cae4c;
}

.yj2-auction-submit.saved:hover,
.yj2-bottom-submit.saved:hover {
    background: #449d44;
    border-color: #398439;
}

/* 批量提交行: 表格上方, 汇总当前页勾选的竞价涨停确认 */
.yj2-batch-row {
    margin-top: 2px;
    margin-bottom: 6px;
    font-size: 13px;
    color: #666666;
}

.yj2-batch-row .yj2-batch-count {
    font-weight: bold;
    color: #337ab7;
}

.yj2-batch-row .yj2-batch-status {
    margin-left: 8px;
    font-size: 12px;
}

/* 表头"竞价涨停"格内的批量提交行 */
.yj2-auction-th {
    min-width: 150px;
}

.seat-table thead th .yj2-batch-row {
    margin: 4px 0 0;
    font-size: 12px;
    line-height: 1.8;
}

.seat-table thead th .yj2-batch-row .btn {
    font-size: 12px;
    padding: 1px 8px;
}

/* 表头批量全选框: 是/否 */
.seat-table thead th .yj2-batch-row .yj2-batch-select {
    font-weight: normal;
    margin-left: 4px;
    cursor: pointer;
    white-space: nowrap;
}

.seat-table thead th .yj2-batch-row .yj2-batch-select input {
    vertical-align: middle;
    margin-right: 2px;
}

/* ============ 三进四(type 240003) 竞价涨停确认(与二进三/一进二镜像) ============ */
/* 结论统计行: 筛选器下方、列表上方 */
.sj4-summary {
    margin: 8px 0;
    padding: 6px 12px;
    font-size: 13px;
    color: #555555;
    background: #fff8e6;
    border: 1px solid #f0dfb7;
    border-radius: 3px;
}

/* 竞价涨停单元格: 是/否复选框 + 小号提交按钮 横向排列 */
.sj4-auction-cell,
.sj4-bottom-cell {
    white-space: nowrap;
}

/* 标签包裹复选框: 点击文字同样可切换勾选 */
.sj4-auction-label,
.sj4-bottom-label {
    display: inline-block;
    margin: 0 4px 0 0;
    font-size: 12px;
    color: #666666;
    vertical-align: middle;
    cursor: pointer;
    font-weight: normal;
}

.sj4-auction-label input[type="checkbox"],
.sj4-bottom-label input[type="checkbox"] {
    margin: 0 2px 0 0;
    vertical-align: middle;
    cursor: pointer;
}

/* 小号提交按钮: 与查询/筛选按钮一致的主蓝色背景白字 (btn-primary #007bff) */
.sj4-auction-submit,
.sj4-bottom-submit {
    margin-left: 4px;
    padding: 0 5px;
    font-size: 11px;
    line-height: 1.6;
    color: #ffffff;
    background: #007bff;
    border: 1px solid #007bff;
    border-radius: 3px;
    cursor: pointer;
    vertical-align: middle;
}

.sj4-auction-submit:hover,
.sj4-bottom-submit:hover {
    background: #0069d9;
    border-color: #0062cc;
}

/* 已提交状态: 按钮变为"修改"时切换为绿色 */
.sj4-auction-submit.saved,
.sj4-bottom-submit.saved {
    background: #5cb85c;
    border-color: #4cae4c;
}

.sj4-auction-submit.saved:hover,
.sj4-bottom-submit.saved:hover {
    background: #449d44;
    border-color: #398439;
}

/* ============ 席位明细 是否首次上榜 确认框 ============ */
.seat-first-label {
    display: inline-block;
    margin: 0 4px 0 0;
    font-size: 12px;
    color: #666666;
    vertical-align: middle;
    cursor: pointer;
    font-weight: normal;
}

.seat-first-label input[type="checkbox"] {
    margin: 0 2px 0 0;
    vertical-align: middle;
    cursor: pointer;
}

.seat-first-submit {
    margin-left: 4px;
    padding: 0 5px;
    font-size: 11px;
    line-height: 1.6;
    color: #ffffff;
    background: #007bff;
    border: 1px solid #007bff;
    border-radius: 3px;
    cursor: pointer;
    vertical-align: middle;
}

.seat-first-submit:hover {
    background: #0069d9;
    border-color: #0062cc;
}

.seat-first-submit.saved {
    background: #007bff;
    border-color: #007bff;
}

.seat-first-submit.saved:hover {
    background: #0069d9;
    border-color: #0062cc;
}

/* 批量提交行: 表格上方, 汇总当前页勾选的竞价涨停确认 */
.sj4-batch-row {
    margin-top: 2px;
    margin-bottom: 6px;
    font-size: 13px;
    color: #666666;
}

.sj4-batch-row .sj4-batch-count {
    font-weight: bold;
    color: #337ab7;
}

.sj4-batch-row .sj4-batch-status {
    margin-left: 8px;
    font-size: 12px;
}

/* 表头"竞价涨停"格内的批量提交行 */
.sj4-auction-th {
    min-width: 150px;
}

.seat-table thead th .sj4-batch-row {
    margin: 4px 0 0;
    font-size: 12px;
    line-height: 1.8;
}

.seat-table thead th .sj4-batch-row .btn {
    font-size: 12px;
    padding: 1px 8px;
}

/* 表头批量全选框: 是/否 */
.seat-table thead th .sj4-batch-row .sj4-batch-select {
    font-weight: normal;
    margin-left: 4px;
    cursor: pointer;
    white-space: nowrap;
}

.seat-table thead th .sj4-batch-row .sj4-batch-select input {
    vertical-align: middle;
    margin-right: 2px;
}
