/* 采购商城 - 公共样式 */
.mall-wrap{max-width:1200px;margin:0 auto;padding:0 16px}
.mall-card{background:#fff;border:1px solid #e6e6e6;border-radius:8px;padding:20px;margin-bottom:16px}
.mall-btn{display:inline-block;padding:9px 22px;border-radius:6px;border:1px solid #2271b1;background:#2271b1;color:#fff!important;font-size:14px;cursor:pointer;text-decoration:none;line-height:1.4}
.mall-btn:hover{background:#135e96}
.mall-btn.plain{background:#fff;color:#2271b1!important}
.mall-btn.danger{background:#d63638;border-color:#d63638}
.mall-btn.disabled{opacity:.5;pointer-events:none}
.mall-btn.small{padding:5px 12px;font-size:13px}
.mall-form label{display:block;margin:12px 0 4px;font-weight:600;font-size:14px}
.mall-form input[type=text],.mall-form input[type=password],.mall-form input[type=number],.mall-form input[type=tel],.mall-form select,.mall-form textarea{width:100%;max-width:420px;padding:8px 10px;border:1px solid #ccd0d4;border-radius:4px;font-size:14px;box-sizing:border-box}
.mall-form textarea{max-width:640px;min-height:90px}
.mall-notice{padding:10px 14px;border-radius:6px;margin:10px 0;font-size:14px}
.mall-notice.ok{background:#edfaef;border:1px solid #68de7c;color:#1c4523}
.mall-notice.err{background:#fcf0f1;border:1px solid #ffb3b3;color:#8a1f21}
.mall-notice.info{background:#f0f6fc;border:1px solid #a7c8e6;color:#1d4b71}
.mall-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}
.mall-table th,.mall-table td{border:1px solid #e6e6e6;padding:10px 8px;text-align:left;vertical-align:middle}
.mall-table th{background:#f6f7f7;font-weight:600}
.mall-table .num{text-align:right}
.mall-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:2px solid #2271b1;margin-bottom:18px}
.mall-tabs a{padding:10px 18px;text-decoration:none;color:#444;font-size:14px;border:1px solid transparent;border-bottom:none;position:relative;top:2px;background:#f0f0f1}
.mall-tabs a.on{background:#2271b1;color:#fff;border-color:#2271b1;border-radius:6px 6px 0 0}
.mall-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mall-grid .p-item{background:#fff;border:1px solid #e6e6e6;border-radius:8px;overflow:hidden;display:block;text-decoration:none;color:inherit}
.mall-grid .p-item img{width:100%;height:180px;object-fit:cover;display:block}
.mall-grid .p-item .t{padding:10px 12px 4px;font-size:14px;line-height:1.45;height:60px;overflow:hidden}
.mall-grid .p-item .p{padding:0 12px 12px;color:#d63638;font-weight:700;font-size:16px}
.mall-price{color:#d63638;font-weight:700}
.mall-badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;background:#f0f0f1;color:#555}
.mall-badge.s-green{background:#e5f5e8;color:#1c5c2e}
.mall-badge.s-red{background:#fde8e9;color:#8a1f21}
.mall-badge.s-blue{background:#e6f1fa;color:#1d4b71}
.mall-badge.s-orange{background:#fdf0e3;color:#8a5b16}
.mall-badge.s-gray{background:#eee;color:#777}
.mall-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.mall-toolbar input,.mall-toolbar select{padding:8px 10px;border:1px solid #ccd0d4;border-radius:4px;font-size:14px}
.mall-pagination{margin:20px 0;text-align:center}
.mall-pagination a,.mall-pagination span{display:inline-block;padding:6px 12px;margin:0 3px;border:1px solid #ccd0d4;border-radius:4px;text-decoration:none;color:#2271b1;font-size:14px}
.mall-pagination .cur{background:#2271b1;color:#fff;border-color:#2271b1}
.mall-img-preview{width:80px;height:80px;object-fit:cover;border-radius:4px;border:1px solid #ddd;margin:4px 4px 0 0}
.mall-addr-item{border:1px solid #e0e0e0;border-radius:6px;padding:12px 14px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.mall-addr-item.default{border-color:#2271b1;background:#f5f9fd}
.mall-actions{display:flex;gap:8px;flex-wrap:wrap}
.mall-status-flow{font-size:13px;color:#666;margin-top:6px}
/* 客服聊天 */
.mall-chat{display:flex;gap:16px;min-height:520px}
.mall-chat-side{width:260px;flex-shrink:0}
.mall-chat-main{flex:1;display:flex;flex-direction:column;background:#fff;border:1px solid #e0e0e0;border-radius:8px}
.mall-chat-head{padding:12px 16px;border-bottom:1px solid #eee;font-weight:600;display:flex;justify-content:space-between;align-items:center}
.mall-chat-body{flex:1;overflow-y:auto;padding:16px;background:#f7f8fa;max-height:460px}
.mall-msg{display:flex;margin-bottom:14px}
.mall-msg .avatar{width:38px;height:38px;border-radius:50%;background:#c8d6e5;color:#345;text-align:center;line-height:38px;font-size:13px;flex-shrink:0}
.mall-msg .bubble{max-width:70%;padding:9px 13px;border-radius:8px;font-size:14px;line-height:1.55;word-break:break-all;margin:0 10px;background:#fff;border:1px solid #e3e3e3}
.mall-msg .bubble img{max-width:220px;border-radius:6px;display:block;cursor:zoom-in}
.mall-msg .meta{font-size:11px;color:#999;margin:0 10px 2px}
.mall-msg.mine{flex-direction:row-reverse}
.mall-msg.mine .bubble{background:#d4eaf7;border-color:#bcd9ee}
.mall-msg.mine .meta{text-align:right}
.mall-chat-foot{border-top:1px solid #eee;padding:12px;display:flex;gap:10px;align-items:flex-end}
.mall-chat-foot textarea{flex:1;min-height:56px;padding:8px;border:1px solid #ccd0d4;border-radius:6px;font-size:14px;resize:vertical}
.mall-online-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#2e9e44;margin-right:6px}
.mall-online-dot.off{background:#bbb}
/* 响应式 */
@media (max-width:768px){
  .mall-grid{grid-template-columns:repeat(2,1fr)}
  .mall-grid .p-item img{height:130px}
  .mall-chat{flex-direction:column}
  .mall-chat-side{width:100%}
  .mall-tabs a{padding:8px 10px;font-size:13px}
  .mall-table{font-size:13px}
  .mall-table th,.mall-table td{padding:7px 5px}
  .mall-form input[type=text],.mall-form input[type=password],.mall-form input[type=number],.mall-form input[type=tel],.mall-form select,.mall-form textarea{max-width:100%}
}
