html{height:auto;min-height:0;}
body{min-height:0;padding-top:50px;}
body{font:14px/1.5 '微软雅黑';word-wrap:break-word;word-break:break-all;-webkit-text-size-adjust:none;background:#f2f2f2;color:#333;}
body,dl,dd,h1,h2,h3,h4,h5,h6,p,form,ul,ol,blockquote{margin:0}
img{border:0 none;vertical-align:middle}
input,select,textarea{font-size:14px;color:#333}
input{vertical-align:middle;padding:2px;margin:0}
table{border-collapse:collapse;border-spacing:0}
select,input,button{font:14px/20px Verdana,Simsun,Helvetica,Arial,sans-serif;}
em,i,cite,blockquote{font-style:normal}
ul,ol{list-style:none outside;padding:0}
h1,h2,h3,h4,h5,h6{font-size:100%}
textarea{overflow-y:auto;padding:3px}
a{color:#428bca;text-decoration:none;outline:0}
a:hover,a:active{color:#2a6496;text-decoration:none;}
a:focus{outline:0;}
button::-moz-focus-inner{border:0;padding:0;}
figure{margin:0}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
.ppr{position:relative;}
.ppa{position:absolute;}
.fl{float:left}
.fr{float:right}
.tl{text-align:left;}
.tc{text-align:center;}
.tr{text-align:right;}
.mlr5{margin:0 5px;}
.mt5{margin-top:5px;}
.mr5{margin-right:5px;}
.mt10{margin-top:10px;}
.ml5{margin-left:5px;}
.ml10{margin-left:10px;}
.mr10{margin-right:10px;}
.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.pl5{padding-left:5px;}
.pb10{padding-bottom:10px;}
.pt20{padding-top:20px;}
.pl10{padding-left:10px;}
.ptb20{padding:20px 0;}
.grayc{color:#ccc}
.gray6{color:#666}
.gray9{color:#999}
.emstyle{font-style:italic}
.clear{clear:both}
.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix{*height:1%;}
.none{display:none}
.block{display:block;}
.minheight500{min-height:500px;height:auto !important;height:500px;overflow:visible;}
.wrap-box{width:960px;margin:0 auto;}
.blue,.blue a:link,.blue a:visited{color:blue;}
.blue a:hover{color:#f60;}
.white,.white a:link,.white a:visited{color:#fff;}
.white a:hover{color:#ff0;}
.red,.red a:link,.red a:visited{color:#f00;}
.red a:hover{color:#f60;}
.orange,.orange a:link,.orange a:visited{color:#ffa500;}
.orange a:hover{color:#f60;}
@font-face{font-family:'icomoon';src:url('../fonts/icomoon.eot');src:url('../fonts/icomoon.eot?#iefix') format('embedded-opentype'),url('../fonts/icomoon.woff') format('woff'),url('../fonts/icomoon.ttf') format('truetype'),url('../fonts/icomoon.svg#icomoon') format('svg');font-weight:normal;font-style:normal;}
.icon-font { font-family:'icomoon'; speak:none; font-weight:400; font-style:normal; font-variant:normal; text-transform:none; line-height:1; -webkit-font-smoothing:antialiased; }
.require-red{color:#f60;font-family:serif;margin-right:3px;}
/* common */
.topbar-wrap{height:50px;line-height:50px;background:#0f308f;border-top:2px solid #fff;position:fixed;top:0;left:0;right:0;z-index:1000;}
.topbar-logo-wrap{float:left;}
.topbar-inner{font-size:18px;padding:0 20px;}
.topbar-logo{float:left;width:150px;text-align:center;}
.topbar-logo .navbar-brand img{
    height:38px;
    display:block;
    margin:5px auto 0;
    vertical-align:middle;
}
.navbar-list{float:left;}
.top-info-wrap{float:right;}
.navbar-list{}
.navbar-list li{float:left;}
.navbar-list li a{float:left;margin-right:5px;padding:0 25px;text-shadow:1px 1px 1px #000;}
.navbar-list li a.vendor-primary-nav{
    position:relative;
    display:block;
    float:left;
    box-sizing:border-box;
    width:156px;
    height:50px;
    line-height:50px;
    padding:0 18px;
    margin-right:0;
    text-align:center;
    font-size:18px;
    font-weight:normal;
    color:#fff;
    background:#0f308f;
    text-shadow:none;
    white-space:nowrap;
    overflow:hidden;
    vertical-align:top;
    margin-top:0;
    top:0;
    transform:none;
}
.navbar-list li a.vendor-primary-nav .js-cart-count{
    display:inline;
    font:inherit;
    line-height:inherit;
    color:inherit;
    vertical-align:baseline;
}
.navbar-list li a.vendor-primary-nav:link,
.navbar-list li a.vendor-primary-nav:visited{color:#fff;}
.navbar-list li a.vendor-primary-nav:hover,
.navbar-list li a.vendor-primary-nav:active{color:#ff0;text-shadow:1px 1px 1px #003;background:#343434;}
.navbar-list li a:hover{background:#343434;}
.navbar-list li a.on{color:#ff0;text-shadow:1px 1px 1px #003;background:#343434;}
.navbar-list li a.vendor-primary-nav.on{color:#ff0;text-shadow:1px 1px 1px #003;background:#343434;}
.top-info-list li{float:left;}
.top-info-list li a{float:left;margin-left:5px;padding:0 20px;display:inline;zoom:1;}
.top-info-list li a:hover{background:#343434;}

/* 厂家端顶栏：统一左侧导航和右侧用户区高度，避免购物车数量刷新时出现临时错位。 */
body.vendor-catalog-page .topbar-logo-wrap,
body.solution-order-page .topbar-logo-wrap{
    display:flex;
    align-items:stretch;
    float:none;
    height:50px;
}
body.vendor-catalog-page .topbar-inner,
body.solution-order-page .topbar-inner{
    display:flex;
    align-items:stretch;
    height:50px;
    line-height:1;
}
body.vendor-catalog-page .navbar-list,
body.solution-order-page .navbar-list{
    display:flex;
    align-items:stretch;
    height:50px;
    float:none;
}
body.vendor-catalog-page .navbar-list li,
body.solution-order-page .navbar-list li{
    float:none;
    display:flex;
    align-items:stretch;
    height:50px;
}
body.vendor-catalog-page .navbar-list li a,
body.solution-order-page .navbar-list li a{
    float:none;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    height:50px;
    line-height:1;
    margin-right:0;
    padding:0 24px;
    color:#fff;
    text-shadow:none;
    white-space:nowrap;
    overflow:hidden;
}
body.vendor-catalog-page .navbar-list li a.vendor-primary-nav,
body.solution-order-page .navbar-list li a.vendor-primary-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    width:156px;
    height:50px;
    line-height:1;
    padding:0 18px;
    margin-right:0;
}
body.vendor-catalog-page .navbar-list li a.vendor-primary-nav .js-cart-count,
body.solution-order-page .navbar-list li a.vendor-primary-nav .js-cart-count{
    line-height:1;
}
body.vendor-catalog-page .top-info-wrap,
body.solution-order-page .top-info-wrap{
    float:none;
    display:flex;
    align-items:stretch;
    height:50px;
    margin-left:auto;
}
body.vendor-catalog-page .top-info-list,
body.solution-order-page .top-info-list{
    display:flex;
    align-items:stretch;
    height:50px;
}
body.vendor-catalog-page .top-info-list li,
body.solution-order-page .top-info-list li{
    float:none;
    display:flex;
    align-items:stretch;
    height:50px;
}
body.vendor-catalog-page .top-info-list li a,
body.solution-order-page .top-info-list li a{
    float:none;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    height:50px;
    line-height:1;
    margin-left:0;
    padding:0 20px;
    color:#fff;
    text-shadow:none;
    white-space:nowrap;
    overflow:hidden;
}
body.vendor-catalog-page .top-info-list li.preview-tier-li,
body.solution-order-page .top-info-list li.preview-tier-li{
    position:relative;
    display:flex;
    height:50px;
    align-items:stretch;
}
body.vendor-catalog-page .top-info-list li.preview-tier-li > a#lnkPreviewTier,
body.solution-order-page .top-info-list li.preview-tier-li > a#lnkPreviewTier{
    display:flex !important;
    align-items:center;
    justify-content:center;
    height:50px;
    line-height:1;
    padding:0 20px !important;
    margin-left:0;
    cursor:pointer;
    box-sizing:border-box;
    color:#fff;
    text-shadow:none;
    background:transparent;
    white-space:nowrap;
}
body.vendor-catalog-page .top-info-list li.preview-tier-li > a#lnkPreviewTier:hover,
body.solution-order-page .top-info-list li.preview-tier-li > a#lnkPreviewTier:hover{
    color:#fff;
    text-shadow:none;
    background:#343434;
}
body.vendor-catalog-page .top-info-list li.preview-tier-li .preview-tier-dropdown,
body.solution-order-page .top-info-list li.preview-tier-li .preview-tier-dropdown{
    display:none;
    position:absolute;
    top:50px;
    left:0;
    z-index:9999;
    min-width:130px;
    margin:0;
    padding:4px 0;
    list-style:none;
    background:#1A1A1A;
    box-shadow:0 2px 8px rgba(0,0,0,.4);
    border-radius:0 0 4px 4px;
}
body.vendor-catalog-page .top-info-list li.preview-tier-li .preview-tier-dropdown li,
body.solution-order-page .top-info-list li.preview-tier-li .preview-tier-dropdown li{
    float:none !important;
    display:block !important;
    height:auto !important;
    align-items:initial !important;
}
body.vendor-catalog-page .top-info-list li.preview-tier-li .preview-tier-dropdown li a,
body.solution-order-page .top-info-list li.preview-tier-li .preview-tier-dropdown li a{
    display:block !important;
    float:none !important;
    height:40px !important;
    line-height:40px !important;
    margin:0 !important;
    padding:0 20px !important;
    box-sizing:border-box;
    white-space:nowrap;
    color:#ccc !important;
    font-size:14px;
    text-shadow:none !important;
    background:transparent;
}
body.vendor-catalog-page .top-info-list li.preview-tier-li .preview-tier-dropdown li a:hover,
body.solution-order-page .top-info-list li.preview-tier-li .preview-tier-dropdown li a:hover{
    color:#fff !important;
    text-shadow:none !important;
    background:#343434 !important;
}
body.vendor-catalog-page .top-info-list li.preview-tier-li .preview-tier-dropdown li a.on,
body.solution-order-page .top-info-list li.preview-tier-li .preview-tier-dropdown li a.on{
    color:#fff !important;
    text-shadow:none !important;
    background:#033b70 !important;
}
body.vendor-catalog-page .navbar-list li a:hover,
body.vendor-catalog-page .navbar-list li a:active,
body.solution-order-page .navbar-list li a:hover,
body.solution-order-page .navbar-list li a:active{
    color:#ff0;
    text-shadow:1px 1px 1px #003;
    background:#343434;
}
body.vendor-catalog-page .top-info-list li a:hover,
body.vendor-catalog-page .top-info-list li a:active,
body.solution-order-page .top-info-list li a:hover,
body.solution-order-page .top-info-list li a:active{
    color:#fff;
    text-shadow:none;
    background:#343434;
}
body.vendor-catalog-page .navbar-list li a.on,
body.solution-order-page .navbar-list li a.on{
    color:#ff0;
    text-shadow:1px 1px 1px #003;
    background:#343434;
}
.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#ffffff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ffffff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#ffffff,#e6e6e6);background-image:-o-linear-gradient(top,#ffffff,#e6e6e6);background-image:linear-gradient(to bottom,#ffffff,#e6e6e6);background-repeat:repeat-x;border:1px solid #bbbbbb;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);}
.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333333;background-color:#e6e6e6;*background-color:#d9d9d9;}
.btn:active,.btn.active{background-color:#cccccc \9;}
.btn:first-child{*margin-left:0;}
.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position 0.1s linear;-moz-transition:background-position 0.1s linear;-o-transition:background-position 0.1s linear;transition:background-position 0.1s linear;}
.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);}
.btn-primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#0044cc;background-image:-moz-linear-gradient(top,#0088cc,#0044cc);background-image:-webkit-gradient(linear,0 0,0 100%,from(#0088cc),to(#0044cc));background-image:-webkit-linear-gradient(top,#0088cc,#0044cc);background-image:-o-linear-gradient(top,#0088cc,#0044cc);background-image:linear-gradient(to bottom,#0088cc,#0044cc);background-repeat:repeat-x;border-color:#0044cc #0044cc #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);}
.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#ffffff;background-color:#0044cc;*background-color:#003bb3;}
.btn-primary:active,.btn-primary.active{background-color:#003399 \9;}
.btn-warning{color:#ffffff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);}
.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#ffffff;background-color:#f89406;*background-color:#df8505;}
.btn-warning:active,.btn-warning.active{background-color:#c67605 \9;}
.btn-danger{color:#ffffff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);}
.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#ffffff;background-color:#bd362f;*background-color:#a9302a;}
.btn-danger:active,.btn-danger.active{background-color:#942a25 \9;}
.btn-success{color:#ffffff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);}
.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#ffffff;background-color:#51a351;*background-color:#499249;}
.btn-success:active,.btn-success.active{background-color:#408140 \9;}
.btn-info{color:#ffffff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);}
.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#ffffff;background-color:#2f96b4;*background-color:#2a85a0;}
.btn-info:active,.btn-info.active{background-color:#24748c \9;}
.btn-inverse{color:#ffffff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222222;background-image:-moz-linear-gradient(top,#444444,#222222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444444),to(#222222));background-image:-webkit-linear-gradient(top,#444444,#222222);background-image:-o-linear-gradient(top,#444444,#222222);background-image:linear-gradient(to bottom,#444444,#222222);background-repeat:repeat-x;border-color:#222222 #222222 #000000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);}
.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#ffffff;background-color:#222222;*background-color:#151515;}
.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9;}
.btn4{width:60px;}
.btn5{width:80px;}
.btn6{width:120px;}
.btn7{width:130px;}
.btn8{width:140px;}
.btn9{width:160px;}
.btn10{width:180px;}
.btn50{width:50%;}
.btn100{width:100%;}
textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#ffffff;border:1px solid #cccccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear 0.2s,box-shadow linear 0.2s;-moz-transition:border linear 0.2s,box-shadow linear 0.2s;-o-transition:border linear 0.2s,box-shadow linear 0.2s;transition:border linear 0.2s,box-shadow linear 0.2s;}
textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;/* IE6-9 */
-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);}
.insert-tab{border-collapse:collapse;border:1px solid #eee;}
.insert-tab th,.insert-tab td{border:1px solid #eee;}
.insert-tab tr{line-height:40px;}
.insert-tab th{text-align:right;font-weight:normal;padding-right:10px;font-size:14px;}
.insert-tab td{text-align:left;padding-left:10px;}
.list-page{padding:20px 0;text-align:center;}
.list-page a{margin:0 5px;padding:2px 7px;border:1px solid #ccc;background:#f3f3f3;}
.list-page a:hover{background:#e4e4e4;border:1px solid #908f8f;}
.list-page .current{margin:0 5px;padding:2px 7px;background:#f60;border:1px solid #fe8101;color:#fff;}

/* 顶部消息提示 Toast */
#toast-container { position:fixed; top:60px; left:50%; transform:translateX(-50%); z-index:99999; pointer-events:none; }
#order-toast-container { position:fixed; bottom:24px; right:24px; z-index:99999; display:flex; flex-direction:column; gap:10px; pointer-events:none; }

/* 订单提醒 Toast — 改进样式 v2 */
@keyframes toast-slide-up {
    from { opacity:0; transform:translateY(24px) scale(.96); }
    to   { opacity:1; transform:translateY(0) scale(1); }
}

.toast-order {
    position:relative;
    overflow:hidden;
    width:400px;
    pointer-events:auto;
    cursor:pointer;
    background:#fff;
    border:1px solid #ffcdd2;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,0.15), 0 4px 12px rgba(255,77,79,0.12);
    padding:0;
    animation:toast-slide-up .4s cubic-bezier(.23,1,.32,1) forwards;
    transition:opacity .3s, transform .3s, box-shadow .3s;
}
.toast-order:hover {
    box-shadow:0 12px 40px rgba(0,0,0,0.18), 0 6px 16px rgba(255,77,79,0.15);
}
.toast-order.toast-hiding {
    opacity:0 !important;
    transform:translateY(-8px) scale(.96) !important;
    pointer-events:none !important;
}
/* 左侧红色装饰条 */
.toast-order::before {
    content:'';
    position:absolute;
    left:0; top:0; bottom:0;
    width:4px;
    background:linear-gradient(180deg,#ff4d4f,#ff7875);
    border-radius:10px 0 0 10px;
}
/* 头部 */
.toast-order .toast-header {
    display:flex;
    align-items:center;
    padding:16px 52px 0 20px;
}
.toast-order .toast-icon {
    flex-shrink:0;
    width:24px; height:24px;
    display:flex; align-items:center; justify-content:center;
    background:#fff1f0;
    border-radius:50%;
    margin-right:10px;
    font-size:14px;
}
.toast-order .toast-title {
    flex:1;
    font-size:15px;
    font-weight:600;
    color:#1f1f1f;
    line-height:24px;
}
.toast-order .toast-close {
    position:absolute;
    top:10px; right:10px;
    width:24px; height:24px;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    color:#bbb;
    font-size:16px;
    line-height:1;
    border-radius:6px;
    transition:background .2s, color .2s;
}
.toast-order .toast-close:hover {
    background:#fff1f0;
    color:#ff4d4f;
}
/* 内容区 */
.toast-order .toast-body {
    padding:10px 20px 8px 20px;
    font-size:14px;
    color:#555;
    line-height:1.7;
}
.toast-order .toast-body strong {
    color:#1f1f1f;
    font-size:15px;
}
/* 底部操作 */
.toast-order .toast-footer {
    padding:6px 20px 14px 20px;
    font-size:12px;
    color:#ff4d4f;
    display:flex;
    align-items:center;
    gap:4px;
}
.toast-order .toast-footer-icon {
    display:inline-flex;
    align-items:center;
    font-size:14px;
    color:#ff4d4f;
    transition:transform .2s;
}
.toast-order:hover .toast-footer-icon {
    transform:translateX(4px);
}

/* 侧边导航待处理订单角标 */
.nav-pending-badge { display:inline-flex; align-items:center; justify-content:center; background:#e74c3c; color:#fff; font-size:11px; font-weight:700; min-width:18px; height:18px; padding:0 4px; border-radius:9px; margin-left:10px; vertical-align:middle; box-sizing:border-box; line-height:1; }

/* 移动端订单提醒 toast：贴近屏幕边缘并放宽宽度，避免窄屏溢出 */
@media (max-width: 768px) {
    #order-toast-container { right:12px; left:12px; bottom:12px; }
    .toast-order { width:auto; }
}

.toast-item {
    margin-bottom:10px; 
    padding:12px 24px; 
    border-radius:6px; 
    font-size:14px; 
    line-height:1.5;
    box-shadow:0 4px 12px rgba(0,0,0,0.15);
    opacity:0;
    transform:translateY(-20px);
    transition:opacity 0.3s ease, transform 0.3s ease;
    pointer-events:auto;
    max-width:80vw;
    word-break:break-word;
}
.toast-item.show { opacity:1; transform:translateY(0); }
.toast-item.success { background:#52c41a; color:#fff; }
.toast-item.error { background:#ff4d4f; color:#fff; }
.toast-item.warning { background:#faad14; color:#fff; }
.toast-item.info { background:#1890ff; color:#fff; }

/* 产品选择弹窗 */
.picker-modal-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-shrink:0;
}
.modal-close-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border:1px solid transparent;
    border-radius:4px;
    background:transparent;
    color:#666;
    font-size:22px;
    line-height:1;
    cursor:pointer;
    box-sizing:border-box;
}
.modal-close-btn:hover {
    background:#f2f4f7;
    border-color:#d9e0ea;
    color:#1f2d3d;
}

/* ===== 删除确认模态框 ===== */
.delete-modal-overlay {
    display:none; position:fixed; z-index:20000; left:0; top:0;
    width:100%; height:100%; background:rgba(0,0,0,0.45);
}
.delete-modal-wrapper {
    display:none; position:fixed; z-index:20010; left:0; top:0;
    width:100%; height:100%; align-items:center; justify-content:center;
}
.delete-modal-container {
    background:#fff; border-radius:8px; box-shadow:0 8px 30px rgba(0,0,0,0.25);
    width:640px; max-width:90vw; max-height:85vh; display:flex; flex-direction:column;
    animation:deleteModalFadeIn .2s ease;
}
@keyframes deleteModalFadeIn {
    from { opacity:0; transform:translateY(-24px) scale(0.97); }
    to { opacity:1; transform:translateY(0) scale(1); }
}
.delete-modal-header {
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 18px; border-bottom:1px solid #eee; flex-shrink:0;
}
.delete-modal-header h3 { margin:0; font-size:16px; color:#c0392b; }
.delete-modal-close {
    background:none; border:none; font-size:24px; cursor:pointer; color:#999; padding:0 4px; line-height:1;
}
.delete-modal-close:hover { color:#333; }
.delete-modal-body {
    overflow-y:auto; flex:1; padding:16px 18px; font-size:13px; line-height:1.6;
}
.delete-modal-footer {
    display:flex; align-items:center; justify-content:flex-end; gap:10px;
    padding:12px 18px; border-top:1px solid #eee; flex-shrink:0;
}
.delete-modal-footer .btn { min-width:80px; height:32px; border-radius:4px; cursor:pointer; font-size:13px; }
.delete-modal-footer .btn-danger { background:#c0392b; color:#fff; border-color:#a93226; }
.delete-modal-footer .btn-danger:hover { background:#e74c3c; }
.delete-modal-footer .btn-default { border:1px solid #ccc; background:#fff; }
.delete-modal-footer .btn-default:hover { background:#f5f5f5; }
/* 清单列表样式 */
.delete-resource-account {
    background:#fdf6f6; border:1px solid #f5c6cb; border-radius:6px; padding:10px 14px; margin-bottom:12px;
}
.delete-resource-account h4 { margin:0 0 2px; font-size:14px; color:#333; }
.delete-resource-account .text-muted { color:#888; font-size:12px; }
.delete-section { margin-bottom:14px; }
.delete-section h5 { margin:0 0 6px; font-size:13px; color:#555; font-weight:bold; }
.delete-section ul { margin:4px 0; padding-left:20px; }
.delete-section ul li { list-style:disc; margin-bottom:2px; }
.delete-section table { width:100%; border-collapse:collapse; font-size:12px; }
.delete-section table th { background:#f6f6f6; border:1px solid #ddd; padding:5px 8px; text-align:left; font-weight:bold; }
.delete-section table td { border:1px solid #ddd; padding:5px 8px; }
.delete-empty-note { color:#999; font-style:italic; padding:4px 0; }

/* 悬浮下拉框：鼠标悬停显示选项列表 */
.hover-select-wrap {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}
.hover-select-wrap select {
    display: none;
}
.hover-select-wrap .hs-display {
    display: inline-block;
    padding: 3px 24px 3px 8px;
    border: 1px solid #b5b5b5;
    border-radius: 2px;
    background: #fff;
    cursor: default;
    min-width: 40px;
    line-height: 22px;
    font-size: 14px;
    white-space: nowrap;
    user-select: none;
}
.hover-select-wrap .hs-display::after {
    content: '';
    position: absolute;
    right: 8px;
    top: 50%;
    margin-top: -2px;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #666;
}
.hover-select-wrap .hs-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 2px;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.hover-select-wrap:hover .hs-dropdown {
    display: block;
}
.hover-select-wrap .hs-option {
    padding: 5px 14px;
    cursor: default;
    font-size: 14px;
    line-height: 1.5;
}
.hover-select-wrap .hs-option:hover {
    background: #e6f0ff;
}
.hover-select-wrap .hs-option.selected {
    background: #d0e4ff;
    font-weight: bold;
}

/* 全局去除数字输入框的上下箭头，仅允许手动输入 */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    appearance: none;
    display: none;
    margin: 0;
    pointer-events: none;
}
input[type="number"] {
    -moz-appearance: textfield;
}

/* ====== 响应式布局 - 汉堡菜单按钮 ====== */
.mobile-user-btn { display: none; }
.hamburger-btn {
    display: none;
    float: left;
    width: 44px;
    height: 50px;
    padding: 16px 10px;
    cursor: pointer;
    box-sizing: border-box;
    position: relative;
}
.hamburger-btn span {
    display: block;
    height: 2px;
    background: #aaa;
    margin-bottom: 4px;
    border-radius: 1px;
    transition: transform 0.25s ease, opacity 0.25s ease;
}
.hamburger-btn span:last-child { margin-bottom: 0; }
.hamburger-btn.active span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.hamburger-btn.active span:nth-child(2) { opacity: 0; }
.hamburger-btn.active span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* 侧栏遮罩层 */
.sidebar-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.4);
    z-index: 500;
}
.sidebar-overlay.active { display: block; }

/* 移动端页面标题（替代顶部导航项） */
.mobile-page-title {
    display: none;
    float: left;
    font-size: 16px;
    font-weight: 600;
    color: #ccc;
    line-height: 50px;
    padding: 0 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
}

/* ====== 响应式布局 - 媒体查询 ====== */

/* 平板：1024px 以内 */
@media (max-width: 1024px) {
    .topbar-inner { padding: 0 10px; }
    .navbar-list li a { padding: 0 15px; }
    .top-info-list li a { padding: 0 10px; }
}

/* 桌面端：隐藏移动端用户抽屉，顶栏按钮平铺显示 */
@media (min-width: 769px) {
    .mobile-user-btn,
    .user-drawer,
    .user-drawer-overlay {
        display: none !important;
        visibility: hidden;
        pointer-events: none;
    }
}

/* 手机：768px 以内 — 卡片视图 */
@media (max-width: 768px) {
    .hamburger-btn { display: block; }
    .navbar-list { display: none; }
    .mobile-page-title { display: block; }
    .topbar-logo-wrap { overflow: hidden; }

    /* 移动端：右侧用户区收拢为图标按钮 + 右侧抽屉 */
    .top-info-list li { display: none; }
    .mobile-user-btn {
        display: inline-block;
        width: 36px;
        height: 38px;
        line-height: 38px;
        text-align: center;
        font-size: 20px;
        color: #ccc;
        cursor: pointer;
        border-radius: 50%;
    }
    .mobile-user-btn:hover { color: #fff; background: rgba(255,255,255,0.1); }
    /* 右侧用户抽屉 */
    .user-drawer {
        display: none;
        position: fixed;
        top: 50px;
        right: -220px;
        width: 220px;
        height: calc(100vh - 50px);
        z-index: 700;
        background: #f2f2f2;
        border-left: 1px solid #ccc;
        box-shadow: -2px 0 12px rgba(0,0,0,0.15);
        transition: right 0.3s ease;
        overflow-y: auto;
    }
    .user-drawer.open {
        right: 0;
        display: block;
    }
    .user-drawer .user-drawer-header {
        padding: 16px;
        border-bottom: 1px solid #ddd;
        background: #eaf2fa;
    }
    .user-drawer .user-drawer-name {
        font-size: 16px;
        font-weight: 600;
        color: #1963AA;
        margin-bottom: 4px;
    }
    .user-drawer .user-drawer-role {
        font-size: 12px;
        color: #888;
    }
    .user-drawer .user-drawer-menu {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .user-drawer .user-drawer-menu li {
        border-bottom: 1px solid #e5e5e5;
    }
    .user-drawer .user-drawer-menu li a {
        display: block;
        padding: 12px 20px;
        font-size: 14px;
        color: #333;
    }
    .user-drawer .user-drawer-menu li a:hover {
        background: #fff;
        color: #1963AA;
    }
    .user-drawer-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.4);
        z-index: 650;
    }
    .user-drawer-overlay.active { display: block; }

/* 表格首屏加载占位 */
.ppmgt-table-loading{text-align:center;padding:36px 12px;color:#888;font-size:14px;letter-spacing:.05em;background:#fafafa;}
.ppmgt-table-loading-row td{border-bottom:none !important;}
.ppmgt-area-loading{text-align:center;padding:48px 16px;color:#888;font-size:14px;background:#fafafa;border-radius:4px;}
/* 全页首屏 Loading（紧凑卡片，无全屏深色遮罩） */
#global-loading{display:flex;position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;z-index:9999;align-items:center;justify-content:center;visibility:hidden;opacity:0;transition:visibility .2s,opacity .2s;pointer-events:none;}
#global-loading.show{visibility:visible;opacity:1;}
#global-loading .gl-spinner{text-align:center;background:#fff;padding:14px 22px;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.12);border:1px solid #e8e8e8;pointer-events:auto;}
#global-loading .gl-circle{width:24px;height:24px;border:2px solid #e0e0e0;border-top-color:#1963AA;border-radius:50%;animation:gl-spin .7s linear infinite;margin:0 auto 6px;}
@keyframes gl-spin{to{transform:rotate(360deg)}}
#global-loading .gl-text{color:#666;font-size:13px;}

    /* ======== 数据表格 → 卡片视图 ======== */
    .result-tab, .result-tab thead, .result-tab tbody, .result-tab tr, .result-tab th, .result-tab td {
        display: block;
    }
    .result-tab thead { display: none !important; }
    .result-tab tbody tr {
        margin-bottom: 10px;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        padding: 8px 12px;
        background: #fff;
        box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    }
    .result-tab tbody td {
        display: flex;
        padding: 5px 2px;
        border: none;
        border-bottom: 1px solid #f0f0f0;
        align-items: flex-start;
        min-height: 26px;
        line-height: 1.5;
    }
    .result-tab tbody td:last-of-type { border-bottom: none; }
    .result-tab td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #555;
        width: 72px;
        min-width: 72px;
        flex-shrink: 0;
        padding-right: 6px;
        font-size: 12px;
        line-height: 1.5;
    }
    /* 空状态行（colspan）不显示 label */
    .result-tab td[colspan] { display: block; text-align: center; padding: 20px 0; }
    .result-tab td[colspan]::before { display: none; }
    /* 操作列按钮组 */
    .result-tab tbody td:last-of-type { gap: 4px; flex-wrap: wrap; }
    /* 内联图片列 */
    .result-tab td img { max-width: 100%; height: auto; }
    /* 修复浮动 / 内联按钮在卡片中的显示 */
    .result-tab td .btn { display: inline-block; margin: 2px 0; }
    .result-tab td input[type="checkbox"] { margin-top: 4px; }

    /* 搜索区域换行 */
    .search-tab, .search-tab tbody, .search-tab tr { display: block; width: 100%; }
    .search-tab th, .search-tab td { display: inline-block; }
    .search-tab th { text-align: left; padding-right: 0; }

    /* 表单表格横向滚动 */
    .insert-tab { overflow-x: auto; -webkit-overflow-scrolling: touch; display: block; width: 100%; }

    /* 信息表格（公司信息等）堆叠 */
    .info-table, .info-table tbody, .info-table tr, .info-table td { display: block; width: 100%; }
    .info-table .lbl { text-align: left; width: auto; padding-right: 0; }
    .info-table input[type="text"] { width: 100%; }

    /* 分页区域自适应 */
    .list-page { padding: 12px 0; }
    .list-page a { margin: 3px 3px; padding: 4px 10px; display: inline-block; }

    /* 操作栏按钮 */
    .result-title { overflow: visible; }
    .result-title .btn { margin-bottom: 4px; }

    /* Toast 宽度适应 */
    .toast-item { max-width: 92vw; }

    /* 删除模态框宽度适应 */
    .delete-modal-container { width: 94vw; }
}

/* 小屏手机：480px 以内 */
@media (max-width: 480px) {
    body { font-size: 13px; }
    .topbar-inner { padding: 0 4px; }
    .top-info-list li a { padding: 0 4px; font-size: 12px; margin-left: 2px; }

    .btn { font-size: 13px; padding: 3px 8px; }
    .btn4, .btn5, .btn6, .btn7, .btn8, .btn9, .btn10 { width: auto; min-width: 50px; }

    .crumb-wrap { height: 34px; line-height: 33px; }
    .crumb-list { padding-left: 8px; font-size: 13px; }

    .result-wrap { padding: 8px 10px; }
    .search-wrap { padding: 10px 0; }

    .common-text { height: 30px; line-height: 30px; padding: 2px 6px; font-size: 13px; }

    .list-page a { padding: 3px 7px; font-size: 12px; }
}
