.app-toast-wrap{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px}
.app-toast{min-width:220px;max-width:360px;padding:10px 14px;border-radius:6px;background:#fff;border:1px solid #d9e2ec;box-shadow:0 8px 24px rgba(15,23,42,.12);font-size:14px;color:#1f2937;transition:.18s}
.app-toast-success{border-left:4px solid #16a34a}.app-toast-error{border-left:4px solid #dc2626}.app-toast-warning{border-left:4px solid #d97706}.app-toast-info{border-left:4px solid #2563eb}.app-toast.is-leave{opacity:0;transform:translateX(20px)}
.app-btn{height:34px;padding:0 14px;border-radius:4px;border:1px solid #d0d7de;background:#fff;color:#24292f;cursor:pointer;font-size:14px}.app-btn:disabled,.app-is-loading{opacity:.65;cursor:not-allowed}.app-btn-primary{background:#1677ff;border-color:#1677ff;color:#fff}.app-btn-danger{background:#dc2626;border-color:#dc2626;color:#fff}.app-btn-default{background:#fff}
.app-confirm-mask,.app-loading-mask{position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:9998;display:flex;align-items:center;justify-content:center}.app-confirm{width:360px;background:#fff;border-radius:8px;padding:20px;box-shadow:0 18px 60px rgba(15,23,42,.25)}.app-confirm-title{font-size:16px;font-weight:600;margin-bottom:10px}.app-confirm-message{font-size:14px;color:#4b5563;line-height:1.6}.app-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.app-loading-box{background:#fff;border-radius:6px;padding:14px 22px;color:#1f2937}
.app-empty,.app-error-state{padding:32px 16px;text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px}.app-error-state{color:#b91c1c;background:#fff7f7;border-color:#fecaca}
.app-status-tag,.app-risk-tag,.app-price-mode-tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.app-tag-success{background:#ecfdf3;color:#15803d}.app-tag-warning{background:#fff7ed;color:#c2410c}.app-tag-danger{background:#fef2f2;color:#b91c1c}.app-tag-info{background:#eff6ff;color:#1d4ed8}.app-risk-tag{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.app-price-normal{background:#eef2ff;color:#3730a3}.app-price-package{background:#f0fdf4;color:#166534}.app-price-base{background:#fff7ed;color:#c2410c}
.app-form-item{display:flex;align-items:center;gap:10px;margin-bottom:12px}.app-form-item label{min-width:96px;color:#374151}.app-form-item input,.app-form-item select,.app-form-item textarea{border:1px solid #d0d7de;border-radius:4px;padding:7px 10px}
.app-table{width:100%;border-collapse:collapse}.app-table th{background:#f8fafc;color:#334155;font-weight:600}.app-table th,.app-table td{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left}.app-table tbody tr:hover{background:#f8fafc}
.app-api-gap-panel{position:fixed;right:16px;bottom:16px;width:340px;max-height:52vh;overflow:auto;background:#111827;color:#f9fafb;border-radius:8px;padding:12px;z-index:9997;box-shadow:0 18px 50px rgba(0,0,0,.28);font-size:12px}.app-api-gap-title{font-weight:700;margin-bottom:8px}.app-api-gap-item{border-top:1px solid rgba(255,255,255,.16);padding:8px 0;line-height:1.5}.app-api-gap-item strong{display:block;color:#fde68a;margin-bottom:2px}
.pc-page-title{font-size:20px;font-weight:600;color:#111827;margin:0 0 16px}.b2b-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.b2b-muted{color:#64748b}
.app-nav-shell{display:grid;grid-template-columns:200px minmax(0,1fr) 220px;align-items:center;height:80px;gap:16px}.app-nav-left,.app-nav-right{min-width:0}.app-nav-center{display:flex;align-items:center;justify-content:center;min-width:0}.app-nav-logo{display:flex;align-items:center;height:80px}.app-nav-logo-img{display:block;width:200px;height:80px;object-fit:contain;cursor:pointer}.app-nav-menu{display:flex;align-items:center;justify-content:center;text-align:center;flex:0 0 auto;width:max-content;max-width:100%;margin:0 auto;font-size:16px;font-weight:400}.app-nav-menu .ant-menu-item,.app-nav-menu .ant-menu-submenu{line-height:80px;font-size:16px!important;font-weight:400}.app-nav-menu .ant-menu-submenu-title,.app-nav-menu .ant-menu-title-content,.app-nav-menu .ant-menu-item a,.app-nav-menu .ant-menu-submenu-title a{font-size:16px!important;font-weight:400;letter-spacing:0;color:#333;text-decoration:none}.app-nav-menu .ant-menu-item:hover>a,.app-nav-menu .ant-menu-submenu:hover .ant-menu-submenu-title>a,.app-nav-menu .ant-menu-item-selected>a,.app-nav-menu .ant-menu-submenu.ant-menu-item-selected .ant-menu-submenu-title>a{color:#747c4b!important}.app-nav-right{display:flex;justify-content:flex-end}.user-info-container{display:flex;align-items:center;justify-content:flex-end;min-width:220px;white-space:nowrap}.app-nav-user{color:#747c4b;text-decoration:none;font-size:16px}.app-nav-user:hover{text-decoration:underline}.app-nav-logout{margin-left:12px;color:#747c4b;text-decoration:none;font-size:14px}.app-nav-logout:hover{text-decoration:underline}.app-nav-order-popup{display:none;position:absolute;top:100%;left:0;min-width:150px;background:#fff;border:1px solid #d9d9d9;box-shadow:0 8px 24px rgba(15,23,42,.12);border-radius:4px;overflow:hidden;z-index:1000}.app-nav-order-trigger{position:relative}.app-nav-order-trigger,.app-nav-menu .ant-menu-item a,.app-nav-order-popup a,.app-nav-logo{text-decoration:none}.app-nav-order-popup .ant-menu-item{padding:8px 16px;line-height:24px}.app-nav-order-popup .ant-menu-item:hover{background:#f5f5f5}
@media (max-width:1280px){.app-nav-shell{grid-template-columns:180px minmax(0,1fr) 180px;gap:12px}.app-nav-logo-img{width:180px}.user-info-container{min-width:180px}.app-nav-menu .ant-menu-item,.app-nav-menu .ant-menu-submenu{font-size:14px}.app-nav-menu .ant-menu-item,.app-nav-menu .ant-menu-submenu,.app-nav-menu .ant-menu-submenu-title{padding-left:18px;padding-right:18px}}
