﻿@charset "utf-8";
/* ============================================================
   设计令牌 (Design Tokens) - 澳镭生产订单系统 3.0
   色调保持原品牌色，灰阶做生产级精修
   ============================================================ */
:root{
	/* 品牌主色 - 保持原色调 */
	--c-deep:#0170a4;        /* 头部深蓝 */
	--c-brand:#0188c7;       /* 品牌蓝 */
	--c-action:#0e8bc5;     /* 操作按钮蓝 */
	--c-action-hover:#047db6;
	--c-action-active:#0170a4;
	--c-link:#0188c7;
	--c-accent:#38a3d5;      /* 强调蓝 */
	--c-accent-soft:#42afe2;

	/* 功能色 - 保持原色调 */
	--c-danger:#f24a39;
	--c-danger-dark:#a51e1e;
	--c-warning:#ff9438;
	--c-warning-dark:#bb5f00;
	--c-success:#1ea58c;

	/* 灰阶 - 生产级精修 */
	--c-text:#1a2332;        /* 主文字 */
	--c-text-regular:#4a5568; /* 常规文字 */
	--c-text-secondary:#718096; /* 次要文字 */
	--c-text-placeholder:#a0aec0;
	--c-border:#e2e8f0;      /* 边框 */
	--c-border-light:#edf2f7;
	--c-divider:#f0f0f0;
	--c-bg:#f5f5f5;          /* 页面背景 */
	--c-bg-soft:#f7fafc;
	--c-bg-hover:#f0f9ff;
	--c-bg-card:#ffffff;

	/* 阴影 - 极淡仅用于悬浮反馈 */
	--sh-sm:0 1px 2px rgba(15,23,42,0.04);
	--sh-md:0 4px 12px rgba(15,23,42,0.06);
	--sh-lg:0 8px 24px rgba(15,23,42,0.08);
	--sh-brand:0 4px 12px rgba(14,139,197,0.25);

	/* 圆角 */
	--r-sm:3px;
	--r-md:5px;
	--r-lg:8px;
	--r-pill:999px;

	/* 间距 */
	--sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px;
	--sp-5:20px; --sp-6:24px; --sp-8:32px;

	/* 动效 */
	--ease-out:cubic-bezier(0.16, 1, 0.3, 1);
	--ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);
	--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);
	--t-fast:140ms;
	--t-base:200ms;
	--t-slow:320ms;

	/* 字体 */
	--font-sans:'Microsoft Yahei','PingFang SC','Helvetica Neue',Tahoma,'微软雅黑',system-ui,-apple-system,sans-serif;
	--font-mono:'SF Mono','Consolas','Microsoft Yahei',monospace;
}

/*css reset-uimaker.com版权所有*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td , i{
	margin:0;
	padding:0;
	border:0;
	font-weight:inherit;
	font-style:inherit;
	font-size:100%;
	font-family:inherit;
	vertical-align:baseline;
}
body {line-height:1.5;}
table {border-collapse: collapse;border-spacing:0;}
caption, th, td ,b,strong{text-align:left;font-weight:normal;}
table, td, th {vertical-align:middle;}	
blockquote:before, blockquote:after, q:before, q:after {content:"";}
blockquote, q {quotes:"" "";}
a img {border:none;}
em,cite{font-style:normal;}

/* ============================================================
   sidebar.tpl 布局修复 - 确保 iframe 正确填充内容区
   ============================================================ */
html,body{height:100%;}
#container{height:100%;}
body > #container > #bd{height:100%;}
.main{
	height:100%;box-sizing:border-box;
	display:flex;flex-direction:column;
}
.main > .title{flex-shrink:0;}
.main > .content{
	flex:1 !important;min-height:0 !important;
	overflow:hidden !important;position:relative !important;
}
.main > .content > iframe{
	position:absolute !important;top:0 !important;left:0 !important;
	width:100% !important;height:100% !important;border:0 !important;
}

/* ============================================================/*
   dashboard/index 首页面板修复 - content-list
   已改为 flex 三列等分,不再依赖 float BFC
   ============================================================ */
.content-list{
	overflow:visible;
}

body { background:var(--c-bg); font:13px/1.6 var(--font-sans);color:var(--c-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
h1, h2, h3, h4, h5, h6 {font-weight:normal;color:var(--c-text);}
a {text-decoration:none;cursor:pointer;}
dl, dt, dd, ol, ul, li{ list-style:none;}

/*some common class*/
.left{float:left;}
.right{float:right;}

/*clear*/
.ue-clear:after{content: ".";display:block;height:0;clear:both;visibility:hidden;overflow: hidden;}
.ue-clear{display:inline-block;}
*html .ue-clear{height:1%;}
.ue-clear{display:block;}

a{color:var(--c-link);transition:color var(--t-fast) var(--ease-out);}
a:hover{color:var(--c-action);text-decoration:underline;}

.impInfo{color:var(--c-danger);}

/*choose样式*/
.choose{float:left;margin-right:15px;white-space:nowrap;}
.choose .text{float:left;padding-left:20px;*padding-left:16px;white-space:nowrap; vertical-align:text-bottom;}
.choose input[type=radio],.choose input[type=checkbox]{position:relative;*top:-3px;float:left;margin-right:-16px;}

/*====================================
  分页信息（表格依赖样式）  扁平化
  ===================================*/
.pagination{font-size:14px;}
.pagination a {text-decoration: none;}
.pagination .pxofy{float:left;margin-left: 5px;height:32px;*padding-top:1px;}	
.pagination a, .pagination span {display: block;float: left;height:32px;line-height:32px;padding:0 10px;font-family:Arial, Helvetica, sans-serif !important;}
.pagination .current {cursor:default;border: solid 1px ;}
.pagination .prev, .pagination .next{/*line-height:22px;*/}

/*分页样式 - 扁平化*/
.pagination a,.pagination span{color: #38a3d5;border:1px solid #e0e0e0;border-left:none;background:#fff;}
.pagination a:hover{background:#f0f9ff;}
.pagination .current{color:#fff;background:#0e8bc5;border:1px solid #0e8bc5;}
.pagination .current.prev, .pagination .current.next{color:#999;border-color:#e0e0e0;background:#fff;}
.pagination .prev{ border-top-left-radius:3px;border-bottom-left-radius:3px;}
.pagination .next{ border-top-right-radius:3px;border-bottom-right-radius:3px;}
.pagination a:first-child{ border-left:1px solid #e0e0e0;}
.pagination .pxofy{color: #333;}


textarea{height:80px; background:#fff;}

/*button样式 - 扁平化纯色按钮*/
.button{display:inline-block;width:135px; height:35px; background:#0e8bc5;border:none; border-radius:3px;color:#fff; font-size:16px; cursor:pointer; font-family:'Microsoft Yahei','微软雅黑';}
.button:hover{background:#047db6;}
.button:active{background:#0170a4;}
.button.normal{width:133px; height:33px;background:#fff;color:#333;border:1px solid #d7d7d7;}
.button.normal:hover{background:#f5f5f5;color:#0188c7;border-color:#0188c7;}
.button.long2{width:100px;}

/*====================================
  表单样式 - 扁平化
  ===================================*/
.kv-item{margin-bottom:10px;font-size:12px;}
.kv-item label,.kv-item .kv-item-label{position:relative;float:left;padding-left:7px;width:6em;height:32px;line-height:32px;}
.kv-item label .impInfo,.kv-item .kv-item-label .impInfo{ position:absolute;left:0;}
.kv-item-content{float:left;margin-right: 10px;}
.kv-item .input{float:left;width:100%;margin-top:5px;}
.kv-item .input:first-child{margin-top:0;}
/*输入框，文本域， 密码输入框样式 - 扁平化*/
.kv-item input[type=text],.kv-item textarea,.kv-item input[type=password],.kv-item input[type=file],.kv-item .file{width:375px;height:32px;border:1px solid #d7d7d7;*line-height:32px;outline:none; background:#fff;padding:0 10px;color:#333;}
.kv-item input[type=text]:focus,.kv-item textarea:focus,.kv-item input[type=password]:focus{border-color:#0188c7;}
.kv-item input[type=text].error-input,.kv-item textarea.error-input,.kv-item input[type=password].error-input{border:1px solid #f24a39;background:#fff2f4;}
.kv-item textarea{height:80px;overflow-y:auto;resize:none; background:#fff;padding:5px 10px;}
.kv-item select{width:150px;height:32px;border:1px solid #d7d7d7;background:#fff;color:#333;}
/*表单中的radio框以及checkbox框的样式*/
.kv-item .choose{position:relative;top:6px;float:left;margin-right:15px;white-space:nowrap;}
.kv-item .choose .text{float:left;padding-left:5px;*padding-left:5px;white-space:nowrap;}
.kv-item .choose input[type=radio],.kv-item .choose input[type=checkbox]{position:relative;*position:static;float:left;margin-right:-16px;}
/*下拉框样式 - 扁平化*/
.iselect-wrapper{position:relative;width:370px;height:32px;padding:0 10px 0 5px;line-height:32px;border:1px solid #d7d7d7;background:#fff;color:#333;}
.iselect-wrapper:hover{border-color:#0188c7;}
.iselect-wrapper .iselect{position:absolute;top:-2px;*top:3px;left:-1px;opacity:0;filter:alpha(opacity=0);outline:0 none;z-index:2;}
/*一段区域数值输入（比如时间段，数字段等）*/
.kv-item.interval input[type=text],.kv-item .interval input[type=text]{float:left;width:100px;}
.kv-item .division{float:left;margin:5px;color:#666;}
/*表单中的提示信息*/
.kv-item-tip{float:left;margin-left:20px;color:#a5a5a5;height:30px;line-height:30px;}
.kv-item-tip .tipText{margin-top:1px;}
.kv-item-tip.error{color:#f24a39;}
.kv-item-tip.success{color:#1ea58c;}
.kv-item-tip.warn{color:#ff9438;}
/*.kv-item-tip{margin-left:397px;*margin-left:0;}*/
.kv-item-tip .ue-icon{margin:2px 8px 0 5px;*margin-left:2px;}
.kv-item-tip .ue-state-highlight .tipText{color:#ff9438;}   

.kv-item .file{position:relative;line-height:30px;}
.kv-item .file input[type=file]{position:absolute;right:0px;z-index:1;width:72px;height:32px; opacity:0;filter:alpha(opacity=0);cursor:pointer;}
.kv-item .file input[type=button]{position:absolute;right:0;top:0;width:72px;z-index:0;height:32px;border:none;border-radius:0 3px 3px 0;background:#0e8bc5;color:#fff; font-family:'Microsoft Yahei','微软雅黑';font-size:14px;}

.color5{color:#a9a9a9;}

/*radio样式 - 扁平化CSS绘制*/
.checkboxouter {float:left;position:relative; margin:0 auto; width:16px; height:16px; border:1px solid #b0b0b0;border-radius:50%;background:#fff;}
.checkboxouter:hover{border-color:#0188c7;}
.checkboxouter input[type="radio"] {opacity: 0;filter:alpha(opacity=0);background:red; position: absolute; cursor: pointer; z-index: 1; height: 100%; width: 100%; left: 0;  top: 0;}
.checkboxouter .radio{position:absolute;left:0;top:0;height:16px; width: 16px;background:none;border-radius:50%;}
.checkboxouter input[type="radio"]:checked ~.radio {background:#0e8bc5;border:3px solid #fff;width:10px;height:10px;}
.checkboxouter input[type="radio"].checked ~.radio {background:#0e8bc5;border:3px solid #fff;width:10px;height:10px;}

/*千里之外 - 提高优先级,确保能盖过 .main .content iframe 的 position:absolute */
.outwindow{display:none !important;}
.main .content iframe.outwindow{display:none !important;}

/*小图标 - 用CSS绘制日期图标扁平化*/
.time-icon{position: absolute;
    right: 5px;
    top: 0;float:left;width:16px;height:16px;color:#0188c7;}
.time-icon:before{content:"";display:block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #0188c7;margin:9px 0 0 3px;}

/*下拉面板样式 - 扁平化*/
.opt-panel{position:absolute;padding:10px; z-index:111;background:#fff;border:1px solid #d7d7d7;border-radius:3px;}
.opt-panel ul{background:#fff;}
.opt-panel .opt-panel-tl,.opt-panel .opt-panel-tc,.opt-panel .opt-panel-tr,
.opt-panel .opt-panel-ml,.opt-panel .opt-panel-mr,
.opt-panel .opt-panel-bl,.opt-panel .opt-panel-bc,.opt-panel .opt-panel-br{display:none;}
.opt-panel .opt-panel-arrow{display:none;}

.small_btn {
    width: 100px;
    height: 28px;
    font-size: 14px;
}

/* ============================================================
   全局增强层 - 生产级精致细节
   ============================================================ */

/* 自定义滚动条 */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:var(--r-pill);border:2px solid transparent;background-clip:content-box;}
::-webkit-scrollbar-thumb:hover{background:#0e8bc5;background-clip:content-box;}
*{scrollbar-width:thin;scrollbar-color:#cbd5e0 transparent;}

/* 文本选中色 - 品牌色 */
::selection{background:rgba(14,139,197,0.25);color:#0170a4;}
::-moz-selection{background:rgba(14,139,197,0.25);color:#0170a4;}

/* 全局焦点 - 无障碍 */
:focus-visible{outline:2px solid var(--c-action);outline-offset:2px;border-radius:var(--r-sm);}
input:not([type="checkbox"]):not([type="radio"]):focus-visible,
button:focus-visible,
a:focus-visible{outline-offset:1px;}

/* 输入框占位符 */
input::placeholder,textarea::placeholder{color:var(--c-text-placeholder);}

/* 全局过渡 - 让交互元素都有平滑反馈 */
input[type="text"],input[type="password"],input[type="number"],input[type="email"],
select,textarea,.button,.checkboxouter,.iselect-wrapper,
.pagination a,.main .tab li a{
	transition:background-color var(--t-base) var(--ease-out),
	           border-color var(--t-base) var(--ease-out),
	           color var(--t-base) var(--ease-out),
	           box-shadow var(--t-base) var(--ease-out);
}

/* 输入框聚焦品牌光环 */
.kv-item input[type=text]:focus,.kv-item textarea:focus,.kv-item input[type=password]:focus,
.define-input input[type=text]:focus,.oe_table input[type="text"]:focus{
	border-color:var(--c-action);
	box-shadow:0 0 0 3px rgba(14,139,197,0.12);
}

/* 按钮按压反馈 */
.button:active{transform:translateY(1px);}
.button{transition:background-color var(--t-base) var(--ease-out),transform var(--t-fast) var(--ease-out);}

/* 加载骨架屏 - 当 grid 添加 loading 时使用 */
.ui-table-loading,.loading{background:transparent !important;background-image:none !important;animation:none !important;}
@keyframes uic-skeleton{
	0%{background-position:100% 50%;}
	100%{background-position:0 50%;}
}

/* 渐入动画 - 用于页面/卡片初次出现 */
@keyframes uic-fade-in{
	from{opacity:0;transform:translateY(8px);}
	to{opacity:1;transform:translateY(0);}
}
@keyframes uic-fade-in-scale{
	from{opacity:0;transform:scale(0.96);}
	to{opacity:1;transform:scale(1);}
}
#main,.content-list,.table,.pan{
	animation:uic-fade-in var(--t-slow) var(--ease-out) both;
}


/* 空状态文字 */
.ui-table-loading:empty::before,.grid:empty::before{
	content:"暂无数据";
	display:block;padding:48px 0;text-align:center;color:var(--c-text-placeholder);font-size:14px;animation:none !important;background:none !important;
}



/* 链接 hover 下划线过渡 */
a{text-decoration:none;}
a:hover{text-decoration:underline;text-underline-offset:2px;}

/* 表头稳重感 */
th{font-weight:600;color:var(--c-text);}

/* 代码/数字 使用等宽字体，更专业 */
input[type="text"][name*="number"],input[type="text"][name*="amount"],input[type="text"][name*="price"],
.oe_table input[type="text"]{font-variant-numeric:tabular-nums;}

/* 减弱动画偏好 - 无障碍 */
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{
		animation-duration:0.01ms !important;
		animation-iteration-count:1 !important;
		transition-duration:0.01ms !important;
		scroll-behavior:auto !important;
	}
}

/* 高对比度模式保护 */
@media (prefers-contrast:high){
	:root{
		--c-border:#666;
		--c-text-secondary:#333;
	}
}

/* ============================================================
   响应式布局 - 移动端适配
   断点: 1024 平板 / 768 手机
   ============================================================ */

/* 移动端遮罩 - 抽屉打开时显示 */
.sidebar-mask{
	display:none;position:fixed;inset:0;background:rgba(15,23,42,0.4);
	z-index:99;opacity:0;pointer-events:none;
	transition:opacity var(--t-base) var(--ease-out);
}
.sidebar-mask.active{opacity:1;pointer-events:auto;display:block;}

/* 移动端汉堡按钮 - 默认隐藏,小屏显示 */
.sidebar-toggle{
	display:none;position:fixed;top:14px;left:12px;z-index:100;
	width:42px;height:42px;border:none;background:transparent;
	color:#fff;font-size:22px;line-height:42px;text-align:center;
	border-radius:var(--r-sm);cursor:pointer;
	transition:background-color var(--t-base) var(--ease-out);
}
.sidebar-toggle:hover{background:rgba(255,255,255,0.15);}
.sidebar-toggle::before{content:"\2630";}

/* ============ 平板 (≤1024px) ============ */
@media (max-width:1024px){
	:root{
		--sp-4:14px;--sp-5:18px;--sp-6:20px;
	}
	/* 布局:取消左侧 padding,侧边栏改为抽屉 */
	#bd{padding-left:0 !important;}
	.sidebar,.siderBar{
		position:fixed !important;left:0;top:115px;bottom:0;
		width:240px !important;margin-left:0 !important;
		z-index:100;
		transform:translateX(-100%);
		transition:transform var(--t-slow) var(--ease-out);
		box-shadow:var(--sh-lg);
	}
	.sidebar.active,.siderBar.active{transform:translateX(0);}
	.sidebar-toggle{display:block;}
	.sidebar-mask{display:block;opacity:0;pointer-events:none;}
	/* 主内容区不偏移 */
	.main{padding-top:8px;}
	#main{margin:12px 8px 0 8px;}
}

/* ============ 手机 (≤768px) ============ */
@media (max-width:768px){
	body{font-size:14px;}
	#main{margin:8px 6px 0 6px;}
	/* 隐藏非必要装饰 */
	#ft{font-size:11px;padding:0 8px;}
	.ft1 span,.ft2 span{margin-right:6px;}

	/* 通用工具类 - 移动端清浮动 */
	.ue-clear{overflow:visible;}
	.left,.right{float:none;}
	.kv-item label,.kv-item .kv-item-label,
	.kv-item-content,.kv-item .input,
	.kv-item .kv-item-tip{float:none;display:block;width:auto !important;margin:4px 0;}
	.kv-item input[type=text],.kv-item textarea,
	.kv-item input[type=password],.kv-item input[type=file],
	.kv-item .file,.iselect-wrapper{width:100% !important;box-sizing:border-box;}
	.kv-item .choose{margin:6px 12px 6px 0;}

	/* 按钮 - 移动端全宽 */
	.button{width:100% !important;box-sizing:border-box;margin:6px 0;}
	.buttons{display:flex;gap:8px;}
	.buttons .button{flex:1;margin:0;}


	/* 下拉面板 - 全宽 */
	.opt-panel,.uew-opt-panel{max-width:none !important;}

	/* 表单字段标题区 */
	.subfild span{font-size:15px;}
}

/* ============ 极小屏 (≤480px) ============ */
@media (max-width:480px){
	#main{margin:6px 4px 0 4px;}
	body{font-size:13px;}
	/* 隐藏底部非关键信息 */
	#ft{display:none;}
	#bd{padding-bottom:0;}
}

/* 触摸设备 - 关闭 hover 动效,避免粘滞 */
@media (hover:none){
	.nav-list .nav-item:hover,
	.content-list .content-item:hover,
	.hd-top .user-info .user-avatar:hover,
	.menuson li:hover{transform:none;}
	.table tr:hover td:first-child::before{display:none;}
}

/* 横屏手机优化 */
@media (max-width:900px) and (orientation:landscape){
	.sidebar{top:115px;}
}



/* 订单编辑弹窗步骤条及内容区背景改白色 */
.wizard-steps,
.step-content,
.step-content .step-pane,
body{
    background-color: #ffffff !important;
}
/* ========== 弹窗关闭平滑动画 ========== */
/* 覆盖 layer.css 的 bounceOut duration 0.2s -> 0.35s */
.layer-anim-close {
    -webkit-animation-duration: .35s !important;
    animation-duration: .35s !important;
    -webkit-animation-timing-function: ease-out !important;
    animation-timing-function: ease-out !important;
}
    -webkit-animation-name: layer-fadeOut !important;
    animation-name: layer-fadeOut !important;
    -webkit-animation-duration: .25s !important;
    animation-duration: .25s !important;
}
/* 定义遮罩淡出 keyframes */
@-webkit-keyframes layer-fadeOut {
    0% { opacity: 1; }
    100% { opacity: 0; }
}
@keyframes layer-fadeOut {
    0% { opacity: 1; }
    100% { opacity: 0; }
}

/* 遮罩层关闭动画 - 纯淡出 */
@-webkit-keyframes layer-shadeClose {
    0% { opacity: 1; }
    100% { opacity: 0; }
}
@keyframes layer-shadeClose {
    0% { opacity: 1; }
    100% { opacity: 0; }
}
    -webkit-animation: layer-shadeClose .25s ease forwards !important;
    animation: layer-shadeClose .25s ease forwards !important;
}

/* 弹窗用更平滑的关闭动画 - fadeOut + scale */
@-webkit-keyframes layer-smoothClose {
    0% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); }
    40% { opacity: 1; -webkit-transform: scale(1.02); transform: scale(1.02); }
    100% { opacity: 0; -webkit-transform: scale(.92); transform: scale(.92); }
}
@keyframes layer-smoothClose {
    0% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); }
    40% { opacity: 1; -webkit-transform: scale(1.02); transform: scale(1.02); }
    100% { opacity: 0; -webkit-transform: scale(.92); transform: scale(.92); }
}
    -webkit-animation-name: layer-smoothClose !important;
    animation-name: layer-smoothClose !important;
    -webkit-animation-duration: .4s !important;
    animation-duration: .4s !important;
}
    -webkit-animation-name: layer-fadeOut !important;
    animation-name: layer-fadeOut !important;
    -webkit-animation-duration: .25s !important;
    animation-duration: .25s !important;
}
/* ========= layer 弹窗按钮修复 ========= */
    background-image: url('../js/theme/default/icon.png') !important;
    background-repeat: no-repeat !important;
}
    background: none !important;
    width: 16px; height: 16px;
}
    position: absolute;
    width: 14px; height: 2px;
    left: 0; top: 50%;
    margin-top: -1px;
    background-color: #2E2D3C;
    cursor: pointer;
}

    width: 16px; height: 16px;
    background-position: -32px -40px !important;
}
    background-position: -16px -40px !important;
    opacity: .7;
}
    width: 16px; height: 16px;
    background-position: -65px -40px !important;
}
    background-position: -49px -40px !important;
    opacity: .7;
}
    position: relative;
    width: 16px; height: 16px;
    background-position: 1px -40px !important;
    cursor: pointer;
}
    position: absolute;
    right: -28px; top: -28px;
    width: 30px; height: 30px;
    margin-left: 0;
    background-position: -149px -31px !important;
    opacity: .7;
}
    background-position: -180px -31px !important;
    opacity: 1;
}

/* ========= 修复 footer 被挤出视口 - 纯 CSS flex 布局 ========= */
body{
    height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;  /* 不让 body 滚动, 让内部 bd 滚动 */
}
#container{
    display: flex !important;
    flex-direction: column !important;
    height: 100vh !important;
}
#container > #bd{
    flex: 1 !important;
    height: auto !important;     /* ← 覆盖 style.css 的 height:100% */
    overflow: hidden !important;  /* bd 自己的滚动交给内部 */
    margin-top: 0 !important;
}
#container > #ft{
    flex-shrink: 0 !important;
}
/* hd/header 也确保不压缩 */
#container > #hd,
#container > .hd-top,
#container > .hd-bottom{
    flex-shrink: 0 !important;
}
