.login-bg[data-v-c28a7884]{min-height:100vh;display:flex;justify-content:center;align-items:center;background:radial-gradient(1200px 600px at 10% 10%,rgba(30,58,138,.18),transparent 60%),radial-gradient(1000px 500px at 90% 90%,rgba(220,38,38,.15),transparent 60%),linear-gradient(135deg,#f5f7fb,#e9eef7);padding:24px}.login-box[data-v-c28a7884]{background:#fff;padding:36px 32px 28px;border-radius:12px;width:420px;box-shadow:0 20px 60px #1e3a8a2e,0 2px 6px #0000000a;border:1px solid #eef1f6}.brand[data-v-c28a7884]{display:flex;align-items:center;gap:16px}.logo[data-v-c28a7884]{width:72px!important;height:72px!important;max-width:72px!important;max-height:72px!important;object-fit:contain;border-radius:12px;background:#fff;box-shadow:0 4px 14px #1e3a8a1f;padding:6px;flex-shrink:0}.brand-text[data-v-c28a7884]{flex:1;min-width:0}.brand-name[data-v-c28a7884]{margin:0;font-size:22px;color:#1e3a8a;letter-spacing:1px;font-weight:700}.brand-sub[data-v-c28a7884]{margin:4px 0 0;color:#6b7280;font-size:12.5px;letter-spacing:.3px}.divider[data-v-c28a7884]{height:1px;background:linear-gradient(to right,transparent,#e5e7eb,transparent);margin:20px 0 18px}.hint[data-v-c28a7884]{text-align:center;color:#6b7280;font-size:13px;margin:0 0 10px}.pwd-input[data-v-c28a7884]{width:100%;box-sizing:border-box;padding:11px 12px;font-size:14px;border:1px solid #d1d5db;border-radius:6px;outline:none;transition:border-color .15s,box-shadow .15s}.pwd-input[data-v-c28a7884]:focus{border-color:#1e3a8a;box-shadow:0 0 0 3px #1e3a8a1f}.login-btn[data-v-c28a7884]{width:100%;margin-top:14px;padding:11px;background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;letter-spacing:4px;cursor:pointer;transition:transform .05s,box-shadow .15s,opacity .15s;box-shadow:0 4px 12px #1e3a8a40}.login-btn[data-v-c28a7884]:hover:not(:disabled){box-shadow:0 6px 16px #1e3a8a52}.login-btn[data-v-c28a7884]:active:not(:disabled){transform:translateY(1px)}.login-btn[data-v-c28a7884]:disabled{opacity:.6;cursor:not-allowed}.err[data-v-c28a7884]{color:#dc2626;text-align:center;margin:10px 0 0;font-size:13px}.footer[data-v-c28a7884]{color:#9ca3af;text-align:center;font-size:11.5px;margin:20px 0 0;letter-spacing:.3px}.modal-mask[data-v-dce8b931]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:999}.modal-box[data-v-dce8b931]{background:#fff;border-radius:6px;width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 16px #00000026}.modal-header[data-v-dce8b931]{padding:12px 16px;border-bottom:1px solid #ebeef5;display:flex;justify-content:space-between;align-items:center}.stat[data-v-dce8b931]{padding:10px;background:#f5f7fa;border-radius:4px}.stat .label[data-v-dce8b931]{font-size:11px;color:#909399;margin-bottom:4px}.stat .value[data-v-dce8b931]{font-size:16px;font-weight:600;color:#303133}.modal-mask[data-v-01fc8529]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center}.admin-box[data-v-01fc8529]{background:#fff;border-radius:8px;width:720px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0003}.admin-header[data-v-01fc8529]{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #ebeef5;font-size:15px}.admin-tabs[data-v-01fc8529]{display:flex;border-bottom:1px solid #ebeef5;background:#fafbfc}.admin-tabs .tab[data-v-01fc8529]{padding:10px 18px;cursor:pointer;font-size:13px;border-bottom:2px solid transparent;color:#606266}.admin-tabs .tab[data-v-01fc8529]:hover{color:#1e3a8a}.admin-tabs .tab.active[data-v-01fc8529]{color:#1e3a8a;border-bottom-color:#1e3a8a;font-weight:600}.admin-body[data-v-01fc8529]{padding:18px;overflow-y:auto;flex:1}.user-table[data-v-01fc8529]{width:100%;border-collapse:collapse}.user-table th[data-v-01fc8529],.user-table td[data-v-01fc8529]{padding:8px 10px;text-align:left;border-bottom:1px solid #f0f0f0;font-size:13px}.user-table th[data-v-01fc8529]{background:#fafbfc;color:#606266;font-weight:600}.user-table select[data-v-01fc8529]{padding:3px 6px;font-size:12px}.mini-btn[data-v-01fc8529]{padding:3px 10px;font-size:12px;border:1px solid #dcdfe6;background:#fff;border-radius:3px;cursor:pointer;margin-right:4px}.mini-btn[data-v-01fc8529]:hover{border-color:#1e3a8a;color:#1e3a8a}.mini-btn.danger[data-v-01fc8529]:hover{border-color:#f56c6c;color:#f56c6c}.add-btn[data-v-01fc8529]{padding:6px 16px;background:#1e3a8a;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.add-btn[data-v-01fc8529]:hover{background:#2563eb}.add-btn[data-v-01fc8529]:disabled{background:#c0c4cc;cursor:not-allowed}.upload-btn[data-v-01fc8529]{padding:8px 24px;background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.upload-btn[data-v-01fc8529]:disabled{background:#c0c4cc;cursor:not-allowed}.center[data-v-01fc8529]{text-align:center}.log-mask[data-v-7a760e43]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.log-dialog[data-v-7a760e43]{background:#fff;border-radius:8px;width:900px;max-width:95vw;height:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0003}.log-header[data-v-7a760e43]{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #ebeef5;background:#fafbfc;border-radius:8px 8px 0 0}.modal-mask[data-v-6cf9de2a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:999}.sub-mask[data-v-6cf9de2a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-box[data-v-6cf9de2a]{background:#fff;border-radius:6px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 16px #00000026}.modal-header[data-v-6cf9de2a]{padding:12px 16px;border-bottom:1px solid #ebeef5;display:flex;justify-content:space-between;align-items:center}.form-row[data-v-6cf9de2a]{margin-bottom:12px}.form-row label[data-v-6cf9de2a]{display:block;font-size:12px;color:#606266;margin-bottom:4px}.form-row input[data-v-6cf9de2a],.form-row select[data-v-6cf9de2a],.form-row textarea[data-v-6cf9de2a]{width:100%;padding:6px 10px;border:1px solid #dcdfe6;border-radius:3px;font-size:13px}.form-grid[data-v-6cf9de2a]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.form-grid>div label[data-v-6cf9de2a]{display:block;font-size:11px;color:#909399;margin-bottom:4px}.init-mask[data-v-f80bf70c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#6b7280;font-size:14px}.init-spinner[data-v-f80bf70c]{font-size:32px}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;background:#f5f7fa}#app{min-height:100vh}button{cursor:pointer}input,select{padding:6px 10px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px}table{border-collapse:collapse;width:100%}th,td{padding:8px 12px;text-align:left;border-bottom:1px solid #ebeef5}th{background:#f5f7fa;font-weight:600;color:#606266}.tab-bar{display:flex;background:#fff;border-bottom:1px solid #e4e7ed}.tab{padding:12px 20px;cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:#409eff;border-bottom-color:#409eff;font-weight:600}.panel{background:#fff;padding:14px 16px;border-radius:4px;margin-bottom:8px;box-shadow:0 1px 3px #0000000d}.panel-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.label{font-size:13px;color:#606266}.value{font-weight:600}.center{text-align:center}.right{text-align:right}.icp-footer{text-align:center;padding:16px 0 8px;margin-top:16px;border-top:1px solid #ebeef5;font-size:11.5px;color:#9ca3af;letter-spacing:.3px}:root{--yao-blue: #1e3a8a;--yao-blue-light: #2563eb;--yao-red: #dc2626;--yao-bg: #f5f7fb;--yao-border: #e5e7eb;--yao-text: #374151;--yao-text-soft: #6b7280}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:12px 16px;background:#fff;border:1px solid var(--yao-border);border-radius:10px;box-shadow:0 1px 3px #1e3a8a0a}.brand{display:flex;align-items:center;gap:12px;min-width:0}.logo-sm{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:8px;padding:4px;box-shadow:0 2px 8px #1e3a8a1a;flex:0 0 auto}.brand-text{min-width:0}.brand-name{font-size:18px;font-weight:700;color:var(--yao-blue);letter-spacing:.5px;line-height:1.2}.brand-sub{font-size:12px;color:var(--yao-text-soft);margin-top:2px;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--yao-text);flex:0 0 auto}.topbar-right button{background:#fff;border:1px solid var(--yao-border);color:var(--yao-text);padding:5px 12px;border-radius:6px;font-weight:500;font-size:12.5px;transition:all .15s}.topbar-right button:hover{border-color:var(--yao-blue);color:var(--yao-blue)}.topbar-right button:disabled{opacity:.5;cursor:not-allowed}.panel{border-left:3px solid var(--yao-blue)}.param-panel{display:flex;gap:20px;align-items:stretch;padding:10px 16px;min-height:0}.param-left{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.param-right{flex:0 0 460px;display:flex;align-items:center;justify-content:center;min-width:0;height:100px;background:#e8e8e8;border-radius:6px;overflow:hidden}.param-hero{height:100px;width:auto;max-width:100%;object-fit:contain;display:block}@media (max-width: 900px){.param-panel{flex-direction:column}.param-right{flex:0 0 auto;width:100%}}.view-tip{margin-bottom:10px;color:#606266;font-size:13px}.quote-area{max-height:calc(100vh - 360px);min-height:240px;overflow-y:auto;overflow-x:auto;border:1px solid #ebeef5;border-radius:4px}.quote-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.quote-table thead th{position:sticky;top:0;z-index:3;background:#f5f7fa;box-shadow:inset 0 -1px #e4e7ed,0 1px #ebeef5}.quote-table tbody tr:hover{background:#f5f9ff}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:999}.modal-box{background:#fff;border-radius:6px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 16px #00000026}.modal-header{padding:12px 16px;border-bottom:1px solid #ebeef5;display:flex;justify-content:space-between;align-items:center}@media (max-width: 900px){.quote-area{overflow:visible!important;max-height:none!important;min-height:auto!important;border:none;background:transparent}.quote-table{background:transparent!important}.quote-table thead{display:none!important}.quote-table tbody,.quote-table tr,.quote-table td{display:block!important;width:auto!important}.quote-table tr{margin-bottom:12px;padding:14px;background:#fff;border-radius:10px;box-shadow:0 1px 4px #1e3a8a14;border:1px solid #ebeef5}.quote-table td{display:flex!important;justify-content:space-between;align-items:center;padding:6px 0!important;border:none!important;text-align:left!important;min-height:28px}.quote-table td.right{text-align:left!important;justify-content:space-between}.quote-table td[data-label]:before{content:attr(data-label);font-size:12px;color:#909399;flex-shrink:0;margin-right:12px}.quote-table td[data-label]>*{text-align:right}.quote-table td[data-label="#"]{background:#f5f7fa;padding:8px 12px!important;margin:-14px -14px 12px;border-radius:10px 10px 0 0;color:#606266;font-size:13px;border-bottom:1px solid #ebeef5!important}.quote-table td[data-label=图片]{display:none!important}.quote-table td[data-label=技术参数]{flex-direction:column;align-items:flex-start!important;background:#fafbfc;padding:8px 10px!important;border-radius:6px;margin:6px 0}.quote-table td[data-label=技术参数]:before{margin-bottom:4px}.quote-table td[data-label=技术参数]>div{text-align:left!important;white-space:pre-line!important;word-break:break-all!important}.quote-table td[data-label=合作价格]{background:transparent;padding:6px 0!important;margin:0;border:none!important;justify-content:space-between}.quote-table td[data-label=合作价格]:before{font-weight:600;color:#303133;font-size:14px}.quote-table td[data-label=合作价格]>*{font-size:18px!important;font-weight:700;color:#409eff}.quote-table td[data-label="⚠️ 报警"]{flex-direction:column;align-items:flex-start!important;background:#fff7e6;padding:8px 10px!important;border-radius:6px;margin-top:6px}.quote-table td[data-label="⚠️ 报警"]>*{text-align:left!important;margin-top:4px}.quote-table td[data-label=详情]>*{width:100%}.topbar{flex-direction:column;align-items:stretch;gap:10px}.topbar-right{flex-wrap:wrap;gap:6px;justify-content:center}.topbar-right button{font-size:12px!important;padding:4px 10px!important}.param-panel{flex-direction:column!important;gap:12px!important}.param-right{flex:0 0 auto!important;width:100%!important;height:120px!important}.panel-row{flex-direction:column;align-items:stretch!important;gap:8px!important}.panel-row input,.panel-row select{width:100%!important}.tab-bar{overflow-x:auto;white-space:nowrap}.view-tip{font-size:12px!important;padding:6px 10px;background:#f5f7fa;border-radius:6px}}
