        * { margin: 0; padding: 0; box-sizing: border-box; }
        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
            background: #0a0a0a;
            min-height: 100vh;
            color: #fff;
        }
        .login-page {
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
        }
        .login-box {
            background: #1a1a2e;
            padding: 40px;
            border-radius: 16px;
            width: 400px;
            box-shadow: 0 8px 32px rgba(0,0,0,0.5);
        }
        .login-title { text-align: center; margin-bottom: 8px; font-size: 24px; }
        .login-subtitle { text-align: center; color: #888; margin-bottom: 30px; font-size: 14px; }
        .input-group { margin-bottom: 16px; }
        .input-group input {
            width: 100%; padding: 12px 16px; border: 1px solid #333;
            background: #252542; color: #fff; border-radius: 8px;
            font-size: 14px; outline: none;
        }
        .input-group input:focus { border-color: #3b82f6; }
        .phone-input-group { display: flex; gap: 10px; }
        .phone-input-group input { flex: 1; }
        .country-code-select {
            padding: 12px 8px; border: 1px solid #333;
            background: #252542; color: #fff; border-radius: 8px;
            font-size: 14px; outline: none; cursor: pointer;
            min-width: 80px;
        }
        .country-code-select:focus { border-color: #3b82f6; }
        .phone-input-wrapper { display: flex; gap: 10px; align-items: center; }
        .phone-input-wrapper .country-code-select { flex-shrink: 0; }
        .phone-input-wrapper input { flex: 1; }
        .phone-input-group button {
            padding: 12px 16px; border: none; background: #3b82f6;
            color: #fff; border-radius: 8px; cursor: pointer;
            font-size: 14px; white-space: nowrap;
        }
        .phone-input-group button:disabled { background: #555; cursor: not-allowed; }
        .login-btn {
            width: 100%; padding: 14px; border: none; background: #3b82f6;
            color: #fff; border-radius: 8px; font-size: 16px; cursor: pointer; margin-top: 8px;
        }
        .error-msg { color: #ef4444; font-size: 13px; margin-top: 8px; text-align: center; display: none; }
        .success-msg { color: #22c55e; font-size: 13px; margin-top: 8px; text-align: center; display: none; }
        .hidden { display: none !important; }

        .admin-page { display: none; min-height: 100vh; }
        .admin-page.active { display: block; }
        .sidebar {
            position: fixed; left: 0; top: 0; width: 220px; height: 100vh;
            background: #1a1a2e; border-right: 1px solid #333; padding: 20px 0; overflow-y:auto;
        }
        .sidebar-logo { text-align: center; padding: 0 20px 20px; border-bottom: 1px solid #333; margin-bottom: 20px; }
        .sidebar-logo h3 { font-size: 18px; color: #3b82f6; }
        .sidebar-logo p { font-size: 12px; color: #888; margin-top: 4px; }
        .sidebar-menu { list-style: none; }
        .sidebar-menu li {
            padding: 12px 24px; cursor: pointer; color: #aaa;
            font-size: 14px; transition: all 0.3s;
        }
        .sidebar-menu li:hover { background: #252542; color: #fff; }
        .sidebar-menu li.active { background: #252542; color: #3b82f6; border-left: 3px solid #3b82f6; }
        .sidebar-menu li.disabled { opacity: 0.4; cursor: not-allowed; }
        .sidebar-menu li.sidebar-menu-group {
            padding:16px 24px 6px; color:#667085; cursor:default; font-size:11px; font-weight:600;
        }
        .sidebar-menu li.sidebar-menu-group:hover { background:transparent; color:#667085; }
        .sidebar-menu li.sidebar-submenu { padding-left:34px; font-size:13px; }
        .main-content { margin-left: 220px; padding: 24px; }
        .header {
            display: flex; justify-content: space-between; align-items: center;
            margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid #333;
        }
        .header h2 { font-size: 20px; }
        .header-user { display: flex; align-items: center; gap: 16px; font-size: 14px; color: #888; }
        .header-user .role-badge {
            padding: 2px 10px; border-radius: 12px; font-size: 11px;
            background: rgba(59,130,246,0.2); color: #3b82f6; border: 1px solid rgba(59,130,246,0.3);
        }
        .header-user button {
            padding: 6px 16px; border: 1px solid #333; background: transparent;
            color: #888; border-radius: 6px; cursor: pointer; font-size: 13px;
        }
        .header-user button:hover { border-color: #ef4444; color: #ef4444; }
        .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }
        .stat-card { background: #1a1a2e; padding: 20px; border-radius: 12px; border: 1px solid #333; }
        .stat-card h4 { font-size: 13px; color: #888; margin-bottom: 8px; }
        .stat-card .num { font-size: 28px; font-weight: bold; color: #3b82f6; }
        .content-section { background: #1a1a2e; border-radius: 12px; border: 1px solid #333; padding: 20px; }
        .content-section h3 { font-size: 16px; margin-bottom: 16px; }
        .empty-state { text-align: center; padding: 60px 20px; color: #666; }

        .upload-area {
            border: 2px dashed #333; border-radius: 12px; padding: 40px;
            text-align: center; margin-bottom: 24px; transition: all 0.3s;
            cursor: pointer; background: #1a1a2e;
        }
        .upload-area:hover, .upload-area.dragover { border-color: #3b82f6; background: #252542; }
        .upload-area .upload-icon { font-size: 48px; margin-bottom: 12px; }
        .upload-area p { color: #888; font-size: 14px; }
        .upload-area .upload-hint { color: #666; font-size: 12px; margin-top: 8px; }
        .upload-progress { margin-top: 16px; display: none; }
        .upload-progress-bar { height: 6px; background: #333; border-radius: 3px; overflow: hidden; }
        .upload-progress-bar .bar { height: 100%; background: #3b82f6; width: 0%; transition: width 0.3s; }
        .upload-progress-text { color: #888; font-size: 12px; margin-top: 8px; }

        .material-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
        .material-toolbar .search-box { display: flex; gap: 8px; align-items: center; }
        .material-toolbar input, .material-toolbar select {
            padding: 8px 12px; border: 1px solid #333; background: #252542;
            color: #fff; border-radius: 6px; font-size: 13px; outline: none;
        }
        .btn-primary { padding: 8px 16px; border: none; background: #3b82f6; color: #fff; border-radius: 6px; cursor: pointer; font-size: 13px; }
        .btn-primary:hover { background: #2563eb; }
        .btn-danger { padding: 6px 12px; border: 1px solid #ef4444; background: transparent; color: #ef4444; border-radius: 6px; cursor: pointer; font-size: 12px; }
        .btn-danger:hover { background: #ef4444; color: #fff; }
        .btn-sm { padding: 6px 12px; border: 1px solid #333; background: transparent; color: #888; border-radius: 6px; cursor: pointer; font-size: 12px; margin-right: 4px; }
        .btn-sm:hover { border-color: #3b82f6; color: #3b82f6; }
        .btn-sm:disabled { opacity: 0.4; cursor: not-allowed; border-color: #333; color: #555; }

        .data-table { width: 100%; border-collapse: collapse; }
        .data-table th, .data-table td { padding: 12px 16px; text-align: left; border-bottom: 1px solid #333; font-size: 13px; }
        .data-table th { color: #888; font-weight: normal; background: #252542; cursor: pointer; user-select: none; }
        .data-table th:hover { color: #3b82f6; }
        .data-table th .sort-icon { margin-left: 4px; font-size: 10px; color: #666; }
        .data-table td { color: #ccc; }
        .data-table tr:hover td { background: #252542; }
        .status-badge { padding: 2px 8px; border-radius: 4px; font-size: 11px; }
        .status-public { background: rgba(34,197,94,0.2); color: #22c55e; }
        .status-private { background: rgba(234,179,8,0.2); color: #eab308; }
        .status-hidden { background: rgba(239,68,68,0.2); color: #ef4444; }
        .role-badge-admin { background: rgba(239,68,68,0.2); color: #ef4444; }
        .role-badge-recorder { background: rgba(59,130,246,0.2); color: #3b82f6; }
        .role-badge-trainer { background: rgba(168,85,247,0.2); color: #a855f7; }
        .role-badge-workshop { background: rgba(234,179,8,0.2); color: #eab308; }
        .filename-cell { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

        .toast { position: fixed; top: 20px; right: 20px; padding: 12px 20px; border-radius: 8px; color: #fff; font-size: 14px; z-index: 9999; transform: translateX(150%); transition: transform 0.3s; }
        .toast.show { transform: translateX(0); }
        .toast-success { background: #22c55e; }
        .toast-error { background: #ef4444; }

        /* 用户管理样式 */
        .user-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
        .user-stat-card { background: #252542; padding: 16px; border-radius: 8px; text-align: center; }
        .user-stat-card .num { font-size: 24px; font-weight: bold; color: #3b82f6; }
        .user-stat-card .label { font-size: 12px; color: #888; margin-top: 4px; }
        .role-select {
            padding: 6px 10px; border: 1px solid #333; background: #252542;
            color: #fff; border-radius: 6px; font-size: 13px; cursor: pointer;
        }
        .role-select:focus { border-color: #3b82f6; outline: none; }
        .perm-tag {
            display: inline-block; padding: 2px 8px; border-radius: 4px;
            font-size: 11px; margin: 2px;
        }
        .perm-yes { background: rgba(34,197,94,0.15); color: #22c55e; }
        .perm-no { background: rgba(100,100,100,0.15); color: #666; }
        .user-security-summary { display:flex; flex-direction:column; gap:5px; min-width:156px; }
        .user-table-scroll { width:100%; overflow-x:auto; }
        .user-management-table { min-width:1460px !important; table-layout:auto; }
        .user-management-table th,.user-management-table td { vertical-align:top; }
        .user-management-table th:nth-child(1) { width:52px; }
        .user-management-table th:nth-child(2) { width:190px; }
        .user-management-table th:nth-child(3) { width:150px; }
        .user-management-table th:nth-child(4) { width:150px; }
        .user-management-table th:nth-child(5) { width:180px; }
        .user-management-table th:nth-child(6) { width:180px; }
        .user-management-table th:nth-child(7) { width:150px; }
        .user-management-table th:nth-child(8) { width:80px; }
        .user-management-table th:nth-child(9) { width:300px; }
        .user-security-line { display:grid; grid-template-columns:8px 64px 1fr; gap:6px; align-items:center; color:#8f98a6; font-size:11px; line-height:1.35; }
        .user-security-line strong { color:#cbd0d7; font-weight:500; }
        .user-security-line strong.locked { color:#e98b8b; }
        .user-security-dot { width:6px; height:6px; border-radius:50%; background:#626b78; }
        .user-security-dot.ok { background:#55bf7b; box-shadow:0 0 0 3px rgba(85,191,123,.1); }
        .user-security-dot.locked { background:#e57676; box-shadow:0 0 0 3px rgba(229,118,118,.1); }
        .user-security-link { display:block; margin-top:8px; padding:0; border:0; background:transparent; color:#76a8e8; font-size:11px; cursor:pointer; }
        .user-security-link:hover { color:#a8c9f4; }
        .modal-panel.user-security-modal-panel { width:min(880px,calc(100vw - 32px)); max-height:min(860px,calc(100vh - 40px)); overflow:hidden; background:#181b23; border-color:#363b47; box-shadow:0 24px 70px rgba(0,0,0,.45); }
        .user-security-modal-panel .modal-header { padding:20px 24px 17px; background:#1d2029; border-bottom-color:#303541; }
        .user-security-heading > span { display:block; margin-bottom:5px; color:#687383; font-size:9px; font-weight:700; letter-spacing:0; }
        .user-security-heading h3 { color:#f0f2f5; font-size:17px; font-weight:600; letter-spacing:0; }
        .user-security-heading p { color:#858e9c; }
        .user-security-body { display:flex; flex-direction:column; gap:20px; max-height:calc(100vh - 190px); padding:20px 24px; overflow:auto; }
        .user-security-section { border-top:1px solid #303541; padding-top:18px; }
        .user-security-section:first-child { border-top:0; padding-top:0; }
        .user-security-section h4 { margin:0 0 12px; color:#e8ebef; font-size:13px; font-weight:600; }
        .user-security-identity-list { border-top:1px solid #303541; }
        .user-security-identity { display:grid; grid-template-columns:36px minmax(150px,1fr) minmax(210px,1fr); gap:12px; align-items:center; min-height:68px; border-bottom:1px solid #303541; }
        .user-security-provider { display:flex; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid #3a414d; border-radius:6px; background:#222630; color:#cbd1d9; font-size:12px; font-weight:700; }
        .user-security-provider.wechat { border-color:rgba(85,191,123,.32); color:#63c987; }
        .user-security-provider.alipay { border-color:rgba(80,159,230,.36); color:#68a9e8; }
        .user-security-identity > div strong,.user-security-identity > div span { display:block; }
        .user-security-identity > div strong { color:#e8ebef; font-size:12px; font-weight:600; }
        .user-security-identity > div span { margin-top:4px; color:#7f8997; font-size:10px; }
        .user-security-identity-state { min-width:0; text-align:right; }
        .user-security-identity-state strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
        .user-security-table-scroll { width:100%; overflow-x:auto; }
        .user-security-table { width:100%; min-width:620px; border-collapse:collapse; border-top:1px solid #303541; font-size:11px; }
        .user-security-table th,.user-security-table td { padding:10px 9px; border-bottom:1px solid #303541; text-align:left; vertical-align:top; }
        .user-security-table th { background:#1d2029; color:#7f8997; font-weight:500; }
        .user-security-table td { color:#cbd0d7; }
        .user-security-table td span { color:#7f8997; }
        .user-security-state { display:inline-flex; align-items:center; gap:6px; color:#cbd0d7 !important; }
        .user-security-state i { width:6px; height:6px; border-radius:50%; background:#626b78; }
        .user-security-state.ok i { background:#55bf7b; }
        .user-security-state.locked { color:#e98b8b !important; }
        .user-security-state.locked i { background:#e57676; }
        .user-security-action { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; margin-top:14px; padding:12px; border-left:2px solid #e57676; background:#1d2028; }
        .user-security-action label { display:flex; flex-direction:column; gap:5px; color:#8f98a6; font-size:11px; }
        .user-security-action input { width:100%; height:36px; padding:0 10px; border:1px solid #3a3e4b; border-radius:4px; background:#151820; color:#eef1f5; outline:none; }
        .user-security-action input:focus { border-color:#66758a; }
        .user-security-unlock { height:36px; padding:0 14px; border:1px solid #ba5d61; border-radius:4px; background:transparent; color:#ea898d; cursor:pointer; }
        .user-security-unlock:hover { background:rgba(229,118,118,.1); }
        .user-security-unlock:disabled { border-color:#454b57; color:#656e7b; cursor:not-allowed; background:transparent; }
        .user-security-session-summary { display:flex; align-items:baseline; gap:7px; color:#818b99; font-size:11px; }
        .user-security-session-summary strong { color:#e8ebef; font-size:20px; font-weight:600; }
        .user-security-footer { padding:14px 24px; background:#1d2029; border-top-color:#303541; }
        @media (max-width:680px) {
            .user-security-identity { grid-template-columns:36px 1fr; padding:10px 0; }
            .user-security-identity-state { grid-column:2; text-align:left; }
            .user-security-action { grid-template-columns:1fr; }
            .user-security-table { min-width:0; border-top:0; }
            .user-security-table thead { display:none; }
            .user-security-table tbody,.user-security-table tr { display:block; }
            .user-security-table tr { padding:7px 0; border-top:1px solid #303541; border-bottom:1px solid #303541; }
            .user-security-table td { display:grid; grid-template-columns:88px minmax(0,1fr); gap:8px; padding:6px 8px; border-bottom:0; }
            .user-security-table td::before { content:attr(data-label); color:#7f8997; }
            .user-security-table td[colspan] { display:block; padding:12px 8px; }
            .user-security-table td[colspan]::before { content:none; }
        }
        .section-divider {
            border-top: 1px solid #333; margin: 24px 0; padding-top: 16px;
        }
        .section-divider h4 { color: #888; font-size: 14px; margin-bottom: 12px; }
        .readonly-notice {
            background: rgba(234,179,8,0.1); border: 1px solid rgba(234,179,8,0.3);
            border-radius: 8px; padding: 12px 16px; color: #eab308; font-size: 13px;
            margin-bottom: 16px;
        }

        /* 客户运营 */
        .customer-insights-panel { padding:0; overflow:hidden; }
        .customer-insights-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid #30303f; }
        .customer-insights-heading h3 { margin:0; font-size:16px; color:#eef1f5; }
        .customer-insights-heading .btn-sm { margin:0; color:#aab1bd; }
        .customer-insights-actions { display:flex; align-items:center; gap:8px; }
        .customer-insight-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; margin:0; border-bottom:1px solid #30303f; background:#30303f; }
        .customer-insight-stat { min-width:0; padding:14px 18px; background:#20232d; }
        .customer-insight-stat span { display:block; color:#8d95a3; font-size:11px; }
        .customer-insight-stat strong { display:block; margin-top:6px; color:#e8ebef; font-size:22px; font-weight:600; }
        .customer-insight-stat:nth-child(2) strong { color:#55bf7b; }
        .customer-insight-stat:nth-child(3) strong { color:#50b8c7; }
        .customer-insight-stat:nth-child(4) strong { color:#d6a84b; }
        .customer-insight-stat:nth-child(5) strong { color:#e57676; }
        .customer-insight-toolbar { display:flex; align-items:flex-end; gap:10px; padding:16px 20px 12px; }
        .customer-insight-toolbar label { display:flex; flex-direction:column; gap:5px; min-width:0; color:#818996; font-size:11px; }
        .customer-insight-toolbar label:first-child { width:min(320px,32vw); }
        .customer-insight-toolbar label:nth-child(2) { width:190px; }
        .customer-insight-toolbar input, .customer-insight-toolbar select { width:100%; height:36px; padding:0 11px; border:1px solid #3a3e4b; background:#20232d; color:#eef1f5; border-radius:6px; font-size:12px; outline:none; }
        .customer-insight-toolbar input:focus, .customer-insight-toolbar select:focus { border-color:#3b82f6; }
        .customer-insight-toolbar .btn-primary { height:36px; }
        .customer-insight-notice { display:flex; align-items:flex-start; gap:10px; margin:0 20px 14px; padding:9px 12px; border-left:3px solid #596579; background:#20232a; color:#8d95a3; font-size:11px; line-height:1.55; }
        .customer-insight-notice strong { flex:0 0 auto; color:#c7ccd4; font-weight:600; }
        .customer-insight-table-wrap { border-top:1px solid #30303f; }
        .customer-insight-table { min-width:1320px !important; table-layout:fixed; }
        .customer-insight-table col.customer-col { width:190px; }
        .customer-insight-table col.consent-col { width:100px; }
        .customer-insight-table col.usage-col { width:245px; }
        .customer-insight-table col.commerce-col { width:245px; }
        .customer-insight-table col.asset-col { width:225px; }
        .customer-insight-table col.tag-col { width:215px; }
        .customer-insight-table col.action-col { width:100px; }
        .customer-insight-table th { padding:10px 14px; color:#8d95a3; background:#20232a; font-size:11px; font-weight:600; cursor:default; }
        .customer-insight-table th:hover { color:#8d95a3; }
        .customer-insight-table td { padding:13px 14px; vertical-align:top; color:#d7dbe0; line-height:1.45; }
        .customer-insight-table tbody tr:nth-child(even) td { background:#1c1f29; }
        .customer-insight-table tbody tr:hover td { background:#242936; }
        .customer-name-line { display:flex; align-items:center; gap:7px; min-width:0; }
        .customer-name-line strong { min-width:0; overflow:hidden; color:#eef1f5; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
        .customer-wp-id { flex:0 0 auto; padding:1px 5px; border:1px solid #3b4352; color:#8fa0b5; font-size:10px; }
        .customer-cell-meta, .insight-cell-meta { margin-top:5px; color:#7f8794; font-size:11px; line-height:1.5; }
        .insight-status { display:inline-flex; align-items:center; min-height:22px; padding:2px 7px; border:1px solid #3c424d; color:#939ba8; font-size:11px; }
        .insight-status.enabled { border-color:rgba(85,191,123,.38); background:rgba(85,191,123,.1); color:#63c987; }
        .insight-status.disabled { border-color:rgba(226,98,98,.34); background:rgba(226,98,98,.08); color:#df7777; }
        .insight-cell-primary { display:flex; align-items:baseline; gap:6px; color:#cdd2d9; font-size:11px; }
        .insight-cell-primary strong { color:#f0f2f5; font-size:14px; font-weight:600; }
        .insight-cell-divider { color:#59616e; }
        .insight-refund-text { color:#c99090; }
        .insight-entitlement { display:inline-flex; margin-top:7px; padding:2px 7px; border:1px solid #3b4352; color:#9ba7b7; font-size:10px; }
        .insight-entitlement.active { border-color:rgba(80,184,199,.4); background:rgba(80,184,199,.08); color:#66c1ce; }
        .insight-assets { display:flex; gap:5px; flex-wrap:wrap; }
        .insight-assets span { padding:2px 6px; background:#292d38; color:#8e97a5; font-size:10px; }
        .insight-assets b { margin-left:3px; color:#dfe3e8; font-weight:600; }
        .insight-tags { display:flex; align-items:flex-start; gap:5px; flex-wrap:wrap; }
        .insight-tag { display:inline-flex; padding:3px 7px; border:1px solid #414957; background:#252a35; color:#b4bdc9; font-size:10px; line-height:1.3; }
        .insight-tag-empty { color:#69717d; font-size:11px; }
        .insight-view-btn { min-width:72px; justify-content:center; white-space:nowrap; }

        .modal-panel.customer-profile-modal-panel { width:min(1120px,calc(100vw - 36px)); max-height:min(900px,calc(100vh - 36px)); overflow:hidden; background:#181b23; border-color:#363b47; box-shadow:0 24px 70px rgba(0,0,0,.5); }
        .customer-profile-modal-panel .modal-header,.ai-config-modal-panel .modal-header { padding:19px 24px 16px; background:#1d2029; border-bottom-color:#303541; }
        .customer-profile-heading span { display:block; margin-bottom:5px; color:#5eb4c8; font-size:10px; font-weight:700; }
        .customer-profile-heading h3 { margin:0; color:#eff2f5; font-size:18px; }
        .customer-profile-heading p { margin:5px 0 0; color:#818a98; font-size:11px; }
        .customer-profile-body { max-height:calc(100vh - 170px); overflow:auto; }
        .customer-profile-loading,.customer-profile-error { min-height:280px; display:flex; align-items:center; justify-content:center; color:#8e97a5; }
        .customer-profile-error { color:#df8585; }
        .customer-profile-overview { display:grid; grid-template-columns:420px minmax(0,1fr); min-height:325px; border-bottom:1px solid #303541; }
        .customer-radar-wrap { display:flex; align-items:center; justify-content:center; border-right:1px solid #303541; background:#171a21; }
        .customer-radar-wrap canvas { display:block; max-width:100%; }
        .customer-profile-summary { padding:34px 36px; }
        .profile-stage-line { display:flex; align-items:baseline; gap:14px; }
        .profile-stage-line span { color:#818a98; font-size:12px; }
        .profile-stage-line strong { color:#edf0f4; font-size:24px; font-weight:600; }
        .profile-score-version { margin-top:7px; color:#68717e; font-size:10px; }
        .profile-tags { margin-top:24px; }
        .profile-fact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:24px; border:1px solid #303641; background:#303641; }
        .profile-fact-grid span { min-height:74px; padding:14px 16px; background:#1c2028; color:#858e9b; font-size:11px; }
        .profile-fact-grid b { display:block; margin-bottom:4px; color:#e5e9ee; font-size:20px; font-weight:600; }
        .customer-profile-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; border-bottom:1px solid #303541; background:#303541; }
        .customer-profile-facts div { min-width:0; padding:14px 18px; background:#1c2028; }
        .customer-profile-facts span { display:block; color:#7e8794; font-size:10px; }
        .customer-profile-facts strong { display:block; margin-top:5px; color:#d8dde3; font-size:12px; font-weight:500; overflow-wrap:anywhere; }
        .customer-ai-band { padding:22px 24px 26px; }
        .customer-ai-band-title { display:flex; align-items:baseline; gap:12px; margin-bottom:16px; }
        .customer-ai-band-title h4 { margin:0; color:#e6eaef; font-size:14px; }
        .customer-ai-band-title span { color:#6f7885; font-size:10px; }
        .customer-ai-empty { min-height:120px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px dashed #383e49; color:#7f8997; text-align:center; }
        .customer-ai-empty strong { color:#bcc3cc; font-size:13px; }
        .customer-ai-empty span { max-width:560px; margin-top:7px; font-size:11px; line-height:1.6; }
        .customer-ai-summary { padding:13px 15px; border-left:3px solid #4ba4b9; background:#20252d; color:#dce1e7; font-size:13px; line-height:1.7; }
        .customer-ai-segments { display:flex; flex-wrap:wrap; gap:6px; margin:13px 0 17px; }
        .profile-ai-segment { padding:3px 8px; border:1px solid #3c4653; color:#9dafc1; font-size:10px; }
        .customer-ai-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
        .customer-ai-columns h5 { margin:0 0 9px; color:#9da6b2; font-size:11px; font-weight:600; }
        .customer-ai-list { margin:0; padding:0; list-style:none; }
        .customer-ai-list li { padding:10px 0; border-top:1px solid #2f3540; }
        .customer-ai-list li strong { display:block; color:#d9dde3; font-size:12px; font-weight:500; }
        .customer-ai-list li p { margin:4px 0 0; color:#a4acb7; font-size:11px; line-height:1.55; }
        .customer-ai-list li span { display:block; margin-top:5px; color:#697381; font-size:9px; }
        .customer-ai-list li[data-level="high"] strong,.customer-ai-list li[data-priority="high"] strong { color:#e29a81; }
        .customer-profile-footer { justify-content:flex-end; min-height:66px; }
        .customer-profile-footer > span { margin-right:auto; color:#717b88; font-size:10px; }

        .modal-panel.ai-config-modal-panel { width:min(1180px,calc(100vw - 36px)); max-height:min(920px,calc(100vh - 36px)); overflow:hidden; background:#181b23; border-color:#363b47; }
        .ai-config-layout { display:grid; grid-template-columns:230px minmax(0,1fr); height:min(760px,calc(100vh - 125px)); }
        .ai-config-layout > aside { padding:16px 12px; border-right:1px solid #303541; background:#171a21; overflow:auto; }
        .ai-config-side-title,.ai-config-section-title,.ai-config-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; }
        .ai-config-side-title { padding:0 4px 10px; color:#9da6b2; font-size:11px; }
        .ai-provider-list { display:flex; flex-direction:column; gap:3px; }
        .ai-provider-item { width:100%; padding:11px 10px; border:1px solid transparent; background:transparent; color:#aeb6c1; text-align:left; cursor:pointer; }
        .ai-provider-item:hover { background:#20252d; }
        .ai-provider-item.active { border-color:#37434f; background:#232a33; }
        .ai-provider-item strong,.ai-provider-item span { display:block; }
        .ai-provider-item strong { color:#dce1e7; font-size:12px; font-weight:500; }
        .ai-provider-item span { margin-top:4px; color:#727c88; font-size:9px; }
        .ai-config-main { min-width:0; overflow:auto; }
        .ai-config-band { padding:20px 24px; border-bottom:1px solid #303541; }
        .ai-config-band h4 { margin:0 0 14px; color:#dfe4ea; font-size:13px; }
        .ai-config-section-title h4 { margin-bottom:14px; }
        .ai-config-section-title span { color:#707986; font-size:10px; }
        .ai-config-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
        .ai-config-form label,.ai-model-form label,.ai-route-band > label { display:flex; flex-direction:column; gap:5px; color:#858e9b; font-size:10px; }
        .ai-config-form label:nth-child(4),.ai-config-form label:nth-child(5) { grid-column:span 2; }
        .ai-config-form input:not([type="checkbox"]),.ai-config-form select,.ai-model-form input:not([type="checkbox"]),.ai-route-band input,.ai-route-band select { width:100%; min-height:36px; padding:7px 9px; border:1px solid #3a404c; border-radius:5px; background:#12151b; color:#e7ebef; outline:none; }
        .ai-config-form input:focus,.ai-config-form select:focus,.ai-model-form input:focus,.ai-route-band input:focus,.ai-route-band select:focus { border-color:#4797aa; }
        .ai-config-check { flex-direction:row !important; align-items:center; padding-top:20px; }
        .ai-config-actions { justify-content:flex-end; margin-top:12px; }
        .ai-config-actions > span { margin-right:auto; color:#78828e; font-size:10px; }
        .ai-model-rows { border-top:1px solid #303541; }
        .ai-model-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 4px; border-bottom:1px solid #303541; }
        .ai-model-row strong,.ai-model-row span { display:block; }
        .ai-model-row strong { color:#d8dde3; font-size:11px; font-weight:500; }
        .ai-model-row span { margin-top:3px; color:#707986; font-size:9px; }
        .ai-model-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:end; gap:10px; margin-top:13px; }
        .ai-model-form .ai-config-check { padding:0 0 9px; white-space:nowrap; }
        .ai-model-form > button { min-height:36px; }
        .ai-route-band { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
        .ai-route-band h4,.ai-route-band .ai-config-actions { grid-column:1/-1; }
        .ai-route-band select[multiple] { min-height:74px; }
        .ai-route-note { align-self:end; min-height:36px; padding:7px 9px; border-left:2px solid #8a7545; color:#978c73; font-size:10px; line-height:1.5; }
        .ai-usage-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border:1px solid #303541; }
        .ai-usage-grid > div { min-width:0; padding:12px 13px; border-right:1px solid #303541; }
        .ai-usage-grid > div:last-child { border-right:0; }
        .ai-usage-grid span,.ai-usage-grid strong { display:block; }
        .ai-usage-grid span { color:#747e8b; font-size:9px; }
        .ai-usage-grid strong { margin-top:5px; overflow-wrap:anywhere; color:#dfe4ea; font-size:13px; font-weight:600; }
        .ai-usage-errors { display:flex; flex-wrap:wrap; align-items:center; gap:7px; min-height:30px; padding-top:10px; color:#707986; font-size:9px; }
        .ai-usage-errors b { padding:3px 7px; border:1px solid #493e3e; color:#bf8981; font-weight:500; }

        @media (max-width:900px) {
            .customer-profile-overview { grid-template-columns:1fr; }
            .customer-radar-wrap { border-right:0; border-bottom:1px solid #303541; }
            .customer-profile-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .customer-ai-columns { grid-template-columns:1fr; }
            .ai-config-layout { grid-template-columns:1fr; height:calc(100vh - 125px); }
            .ai-config-layout > aside { max-height:150px; border-right:0; border-bottom:1px solid #303541; }
            .ai-config-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .ai-model-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .ai-usage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .ai-usage-grid > div { border-bottom:1px solid #303541; }
        }

        .commission-section-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:12px; }
        .commission-section-header h4 { color:#ddd; margin-bottom:4px; }
        .commission-section-header p { color:#777; font-size:12px; }
        .my-settlement-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0 12px; }
        .my-settlement-stat { min-height:88px; padding:16px; border:1px solid #33364a; border-radius:8px; background:#202036; display:flex; flex-direction:column; justify-content:space-between; }
        .my-settlement-stat span { color:#9aa3ad; font-size:12px; }
        .my-settlement-stat strong { color:#f0f2f5; font-size:22px; font-weight:600; }
        .my-settlement-band { padding:20px 0; border-top:1px solid #2d3040; }
        .my-settlement-modal { width:min(660px,calc(100vw - 32px)); }
        .my-settlement-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:20px; }
        .my-settlement-form label { color:#aeb4be; font-size:13px; display:flex; flex-direction:column; gap:6px; }
        .my-settlement-form input:not([type="checkbox"]), .my-settlement-form select { width:100%; min-height:40px; padding:9px 10px; border:1px solid #3a3d50; border-radius:6px; background:#12131b; color:#f0f2f5; }
        .my-settlement-form .readonly-notice, .my-settlement-form .modal-footer, .my-settlement-form > button, .my-settlement-consent { grid-column:1 / -1; }
        .my-settlement-account-detail { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid #30394a; border-radius:6px; background:#30394a; }
        .my-settlement-account-detail span { min-width:0; padding:10px 12px; background:#181b24; color:#9ba5b3; font-size:12px; overflow-wrap:anywhere; }
        .my-settlement-account-detail strong { color:#e6e9ef; font-weight:500; }
        .my-settlement-amount-row { grid-column:1/-1; }
        .my-settlement-consent { flex-direction:row !important; align-items:flex-start; gap:8px !important; line-height:1.5; }
        .my-settlement-consent input { margin-top:3px; }
        .commission-section-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
        .commission-section-actions label { color:#999; font-size:12px; white-space:nowrap; }
        .commission-audit-filters { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:12px; }
        .product-policy-filters { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:12px 0; }
        .product-policy-filters input, .product-policy-filters select { padding:9px 11px; border:1px solid #3a3a54; background:#252542; color:#fff; border-radius:6px; outline:none; }
        .product-policy-filters > input { min-width:220px; }
        .product-policy-filters label { display:flex; align-items:center; gap:6px; color:#999; font-size:12px; }
        .product-policy-filters label input { width:96px; }
        .product-policy-table { min-width:1510px !important; table-layout:fixed; }
        .product-policy-table th:nth-child(1) { width:190px; }
        .product-policy-table th:nth-child(2) { width:145px; }
        .product-policy-table th:nth-child(3) { width:190px; }
        .product-policy-table th:nth-child(4) { width:190px; }
        .product-policy-table th:nth-child(5), .product-policy-table th:nth-child(6), .product-policy-table th:nth-child(7) { width:210px; }
        .product-policy-table th:nth-child(8) { width:180px; }
        .policy-cell { font-size:12px; line-height:1.55; vertical-align:top; }
        .policy-cell strong { color:#e7e9ee; }
        .policy-cell-meta { color:#7f8794; }
        .policy-cell-empty { color:#666; }
        .product-policy-actions { display:flex; flex-wrap:wrap; align-content:flex-start; gap:6px; }
        .policy-source { display:inline-flex; padding:2px 6px; border-radius:4px; background:#252b38; color:#9fb3cc; font-size:11px; }
        .policy-history-panel { margin-top:16px; border-top:1px solid #30303f; padding-top:12px; }
        .policy-history-panel summary { color:#aab1bd; cursor:pointer; font-size:13px; margin-bottom:12px; }
        .commission-audit-filters input, .commission-audit-filters select,
        .policy-form input, .policy-form select { padding:9px 11px; border:1px solid #3a3a54; background:#252542; color:#fff; border-radius:6px; outline:none; }
        .commission-audit-filters input:focus, .commission-audit-filters select:focus,
        .policy-form input:focus, .policy-form select:focus { border-color:#3b82f6; }
        .table-scroll { overflow-x:auto; }
        .table-scroll .data-table { min-width:980px; }
        .referral-relationship-filters > input:first-child { min-width:280px; }
        .referral-relationship-table { min-width:1240px !important; }
        .referral-user-cell { min-width:180px; line-height:1.5; }
        .referral-user-cell span { color:#777; font-size:11px; }
        .referral-pagination { display:flex; align-items:center; justify-content:flex-end; gap:8px; min-height:34px; margin-top:12px; color:#8f98a6; font-size:12px; }
        .modal-overlay { position:fixed; inset:0; z-index:1200; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.78); padding:20px; }
        .modal-panel { width:560px; max-width:100%; max-height:92vh; overflow:auto; background:#1a1a2e; border:1px solid #3a3a54; border-radius:8px; }
        .policy-modal-panel { width:760px; }
        .tax-policy-modal-panel { width:min(980px,calc(100vw - 32px)); }
        .product-business-modal-panel { width:620px; }
        .payout-receipt-modal-panel { width:680px; }
        .work-order-form.product-license-fields { padding:0; }
        .modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid #333; }
        .modal-header h3 { margin:0 0 4px; }
        .modal-header p { color:#888; font-size:12px; }
        .modal-close { border:0; background:transparent; color:#888; font-size:20px; cursor:pointer; }
        .policy-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; padding:20px; }
        .policy-form label { display:flex; flex-direction:column; gap:6px; min-width:0; color:#aaa; font-size:12px; }
        .policy-form input, .policy-form select { width:100%; min-width:0; }
        .policy-form .wide { grid-column:1/-1; min-width:0; }
        .policy-form .policy-check { flex-direction:row; align-items:center; color:#ccc; }
        .policy-form .policy-check input { width:auto; }
        .earning-preview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:12px; border:1px solid #30394a; background:#161a22; border-radius:6px; }
        .earning-preview-item { min-width:0; padding:8px; background:#202631; border-radius:4px; }
        .earning-preview-item span { display:block; color:#87909d; font-size:11px; }
        .earning-preview-item strong { display:block; margin-top:4px; color:#eef1f5; font-size:14px; }
        .earning-preview-message { grid-column:1/-1; color:#d6a84b; font-size:12px; }
        .earning-preview-message.valid { color:#55bf7b; }
        .tax-policy-items-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
        .tax-policy-items { display:flex; flex-direction:column; gap:8px; }
        .tax-policy-item { display:grid; grid-template-columns:64px minmax(90px,.7fr) minmax(130px,1.2fr) 100px 110px 90px 100px 34px; gap:8px; align-items:center; padding:9px; border:1px solid #30394a; background:#1d2230; border-radius:6px; }
        .tax-policy-item input, .tax-policy-item select { min-width:0; width:100%; }
        .tax-policy-item .tax-policy-enabled { flex-direction:row; align-items:center; gap:5px; }
        .tax-policy-item .tax-policy-enabled input { width:auto; }
        .tax-item-remove { width:34px; height:34px; }
        .labor-rule-fields { grid-column:1/-1; padding-top:8px; border-top:1px solid #30394a; }
        .labor-rule-fields summary { color:#8fb4ef; font-size:12px; cursor:pointer; }
        .labor-deduction-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:9px; }
        .labor-deduction-grid label { font-size:11px; }
        .labor-bracket-table { margin-top:12px; overflow:hidden; border:1px solid #30394a; border-radius:6px; }
        .labor-bracket-header, .labor-bracket-row { display:grid; grid-template-columns:72px minmax(260px,1.5fr) minmax(110px,.6fr) minmax(130px,.7fr); gap:1px; align-items:center; background:#30394a; }
        .labor-bracket-header > *, .labor-bracket-row > * { min-width:0; min-height:40px; margin:0; padding:9px 10px; background:#1a1f2a; }
        .labor-bracket-header > * { min-height:34px; color:#9ba5b3; font-size:11px; font-weight:600; }
        .labor-bracket-row strong { display:flex; align-items:center; color:#dbe3ef; font-size:12px; }
        .labor-bracket-row label { display:flex; flex-direction:row; align-items:center; gap:8px; color:#9ba5b3; font-size:11px; }
        .labor-bracket-row label span { white-space:nowrap; }
        .labor-bracket-row label input { flex:1; }
        .labor-bracket-row > input { border-radius:0; }
        .labor-bracket-open { display:flex; align-items:center; color:#9ba5b3; font-size:11px; }
        .modal-footer { display:flex; justify-content:flex-end; gap:8px; padding:16px 20px; border-top:1px solid #333; }
        .payout-details { min-width:210px; margin-top:7px; }
        .payout-details summary { color:#8fb4ef; font-size:11px; cursor:pointer; }
        .payout-attempt { margin-top:8px; padding:8px; border:1px solid #343947; background:#1c202a; color:#9ca5b3; font-size:11px; line-height:1.55; }
        .payout-receipt-row { margin-top:6px; padding-top:6px; border-top:1px solid #343947; }
        .payout-receipt-actions { display:flex; gap:5px; flex-wrap:wrap; margin-top:5px; }
        .payout-reconciliation-ok { color:#55bf7b; }
        .payout-reconciliation-error { color:#e08b8b; }
        @media (max-width:760px) {
            .sidebar { position:static; width:100%; height:auto; padding:0; border-right:0; border-bottom:1px solid #333; }
            .sidebar-logo { display:none; }
            .sidebar-menu { display:flex; overflow-x:auto; scrollbar-width:thin; }
            .sidebar-menu li { flex:0 0 auto; padding:10px 12px; white-space:nowrap; font-size:12px; }
            .sidebar-menu li.sidebar-menu-group { display:none !important; }
            .sidebar-menu li.sidebar-submenu { padding-left:12px; }
            .sidebar-menu li.active { border-left:0; border-bottom:2px solid #3b82f6; }
            .main-content { margin-left:0; padding:12px; }
            .header { align-items:flex-start; gap:10px; margin-bottom:14px; padding-bottom:12px; }
            .header-user { justify-content:flex-end; gap:8px; flex-wrap:wrap; }
            .content-section { padding:12px; }
            .customer-insights-panel { padding:0; }
            .customer-insights-heading { padding:14px 12px; }
            .customer-insight-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .customer-insight-toolbar { align-items:stretch; flex-direction:column; padding:14px 12px 10px; }
            .customer-insight-toolbar label:first-child, .customer-insight-toolbar label:nth-child(2) { width:100%; }
            .customer-insight-toolbar .btn-primary { width:100%; }
            .customer-insight-notice { margin:0 12px 12px; }
            #users-section .material-toolbar { align-items:stretch; flex-direction:column; gap:8px; }
            #users-section .material-toolbar .search-box { width:100%; align-items:stretch; flex-direction:column; }
            #users-section .material-toolbar input,
            #users-section .material-toolbar select,
            #users-section #syncUsersBtn { width:100%; min-width:0; }
            .commission-section-header { flex-direction:column; }
            .my-settlement-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .my-settlement-form { grid-template-columns:1fr; }
            .commission-section-actions, .product-policy-filters { width:100%; }
            .referral-relationship-filters > * { width:100%; }
            .product-policy-filters > input, .product-policy-filters > select, .product-policy-filters > label { width:100%; }
            .product-policy-filters label input { flex:1; width:auto; }
            .policy-form { grid-template-columns:1fr; }
            .policy-form .wide { grid-column:auto; }
            .earning-preview { grid-template-columns:1fr 1fr; }
            .tax-policy-item { grid-template-columns:1fr 1fr; }
            .tax-policy-item .tax-item-name { grid-column:1/-1; }
            .labor-deduction-grid { grid-template-columns:1fr; }
            .labor-bracket-table { overflow-x:auto; }
            .labor-bracket-header, .labor-bracket-row { min-width:640px; }
            .my-settlement-account-detail { grid-template-columns:1fr; }
        }

        .quality-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
        .quality-heading h3 { margin:0; }
        .quality-filters { display:flex; align-items:end; gap:10px; flex-wrap:wrap; padding:12px 0; border-top:1px solid #30303f; border-bottom:1px solid #30303f; }
        .quality-filters label { display:flex; flex-direction:column; gap:5px; color:#8f98a6; font-size:11px; }
        .quality-filters input, .quality-filters select { min-width:145px; padding:8px 10px; border:1px solid #3a3a4a; background:#20232a; color:#f2f2f2; border-radius:6px; }
        .quality-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; margin:16px 0 20px; border:1px solid #30303f; background:#30303f; }
        .quality-stats > div { min-width:0; padding:14px; background:#20232a; }
        .quality-stats span { display:block; color:#818996; font-size:11px; }
        .quality-stats strong { display:block; margin-top:5px; color:#eef1f5; font-size:20px; overflow-wrap:anywhere; }
        .product-analysis-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
        #productAnalysis-section .data-table { min-width:0; }
        .quality-subheading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin:18px 0 10px; }
        .quality-subheading h4 { margin:0; color:#d7dbe0; font-size:14px; }
        .quality-subheading p { margin-top:4px; color:#747d8a; font-size:11px; }
        .quality-subheading > span { color:#8d95a3; font-size:11px; }
        .commerce-analysis { padding-bottom:22px; border-bottom:1px solid #30303f; }
        .commerce-stats { grid-template-columns:repeat(8,minmax(0,1fr)); margin:10px 0 18px; }
        .commerce-stats > div:nth-child(3) strong, .commerce-stats > div:nth-child(4) strong, .commerce-stats > div:nth-child(5) strong { color:#d48686; }
        .commerce-stats > div:nth-child(6) strong { color:#55bf7b; }
        .commerce-analysis-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
        .commerce-analysis-grid section { min-width:0; }
        .commerce-analysis-grid h4 { margin:0 0 9px; color:#cfd4db; font-size:12px; }
        .commerce-analysis-grid .commerce-products { grid-column:1/-1; }
        .commerce-table { min-width:620px !important; }
        .commerce-products .commerce-table { min-width:880px !important; }
        .commerce-table th { cursor:default; }
        .commerce-table th:hover { color:#888; }
        .commerce-table td { vertical-align:top; }
        .commerce-table td strong { color:#e4e7eb; font-weight:600; }
        .commerce-row-meta { display:block; margin-top:3px; color:#737c89; font-size:10px; }
        .commerce-refund-value { color:#d48686 !important; }
        .behavior-subheading { margin-top:20px; }
        .quality-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
        .quality-grid section { min-width:0; }
        .quality-grid h4 { margin:0 0 10px; color:#d7dbe0; font-size:13px; }
        .quality-empty { padding:24px !important; color:#777 !important; text-align:center !important; }
        .quality-trend { min-height:180px; display:flex; flex-direction:column; gap:8px; }
        .quality-trend-row { display:grid; grid-template-columns:82px minmax(80px,1fr) 56px; gap:9px; align-items:center; color:#8f98a6; font-size:11px; }
        .quality-trend-row strong { color:#cdd2d9; text-align:right; }
        .quality-trend-track { height:12px; background:#252936; overflow:hidden; }
        .quality-trend-total { position:relative; height:100%; background:#3b82f6; }
        .quality-trend-total i { position:absolute; inset:0 auto 0 0; display:block; background:#ef4444; }
        @media (max-width:980px) {
            .quality-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .quality-grid { grid-template-columns:1fr; }
            .commerce-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
            .commerce-analysis-grid { grid-template-columns:1fr; }
            .commerce-analysis-grid .commerce-products { grid-column:auto; }
        }
        @media (max-width:640px) {
            .quality-filters > * { width:100%; }
            .quality-filters input, .quality-filters select { width:100%; min-width:0; }
            .quality-stats { grid-template-columns:1fr 1fr; }
        }

        .service-orders-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
        .service-orders-heading h3 { margin:0; }
        .service-orders-heading-actions { display:flex; align-items:center; gap:8px; }
        .service-order-filters { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:12px 0; border-top:1px solid #30303f; border-bottom:1px solid #30303f; }
        .service-order-filters input, .service-order-filters select,
        .work-order-form input, .work-order-form select, .work-order-form textarea {
            padding:9px 11px; border:1px solid #3a3a4a; background:#20232a; color:#f2f2f2; border-radius:6px; outline:none;
        }
        .service-order-filters input:focus, .service-order-filters select:focus,
        .work-order-form input:focus, .work-order-form select:focus, .work-order-form textarea:focus { border-color:#3b82f6; }
        .service-order-summary { min-height:36px; display:flex; align-items:center; gap:18px; color:#8f98a6; font-size:12px; }
        .service-order-summary strong { color:#e8ebef; font-size:15px; }
        .redeem-success-result { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:#86efac; background:rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.35); border-radius:6px; padding:10px 12px; }
        .work-order-status { display:inline-flex; align-items:center; min-height:24px; padding:3px 8px; border-radius:4px; font-size:12px; white-space:nowrap; }
        .work-order-status.pending_assignment { background:#3a3130; color:#ffb4a9; }
        .work-order-status.assigned, .work-order-status.accepted { background:#263547; color:#93c5fd; }
        .work-order-status.in_progress { background:#3b351f; color:#facc15; }
        .work-order-status.pending_acceptance { background:#3a2d43; color:#d8b4fe; }
        .work-order-status.completed { background:#20392d; color:#86efac; }
        .work-order-status.cancelled, .work-order-status.refunded_closed { background:#303238; color:#aeb4bd; }
        .work-order-modal-panel { width:960px; }
        .work-order-create-panel { width:760px; }
        .work-order-detail-body { padding:0 20px 20px; }
        .work-order-meta { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-bottom:1px solid #333; }
        .work-order-meta > div { padding:14px 12px 14px 0; min-width:0; }
        .work-order-meta span { display:block; color:#777; font-size:11px; margin-bottom:5px; }
        .work-order-meta strong { display:block; color:#e5e7eb; font-size:13px; overflow-wrap:anywhere; }
        .work-order-detail-section { padding-top:18px; }
        .work-order-detail-section .data-table { min-width:760px; }
        .work-order-detail-section-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
        .work-order-detail-section h4 { color:#d7dbe0; font-size:13px; margin:0; }
        .work-order-requirements { white-space:pre-wrap; color:#b8bec8; font-size:13px; line-height:1.65; }
        .work-order-form { display:grid; grid-template-columns:1fr; gap:14px; padding:20px; }
        .work-order-form.two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
        .work-order-form label { display:flex; flex-direction:column; gap:6px; color:#aeb4bd; font-size:12px; }
        .work-order-form .wide { grid-column:1/-1; }
        .work-order-form textarea { resize:vertical; min-height:88px; }
        .participant-removed { opacity:.5; }
        .work-order-event-note { color:#8f98a6; font-size:12px; max-width:300px; white-space:normal; }
        .work-order-action-primary { background:#2563eb; color:#fff; }
        .work-order-action-danger { background:#412a2a; color:#fca5a5; border-color:#633; }
        @media (max-width:900px) {
            .work-order-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
        }
        @media (max-width:640px) {
            .service-orders-heading { align-items:flex-start; flex-direction:column; }
            .service-order-filters > * { width:100%; }
            .work-order-meta, .work-order-form.two-columns { grid-template-columns:1fr; }
            .work-order-form .wide { grid-column:auto; }
            .modal-overlay { padding:8px; align-items:flex-start; }
            .work-order-modal-panel { margin-top:8px; max-height:calc(100vh - 16px); }
        }

.permission-toolbar {
    display: grid;
    grid-template-columns: minmax(160px, 220px) minmax(220px, 1fr) minmax(260px, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin: 16px 0;
}
.permission-toolbar label { color: #aeb4bf; font-size: 13px; }
.permission-toolbar select, .permission-toolbar input { width: 100%; margin-top: 6px; }
.permission-governance-actions { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.permission-governance-panel { margin: 12px 0; padding: 12px; border: 1px solid #3a414b; background:#1d2126; border-radius:6px; }
.permission-governance-row { display:grid; grid-template-columns:minmax(160px, 1fr) 2fr auto; gap:10px; align-items:center; padding:9px 0; border-top:1px solid #30353d; }
.permission-governance-row:first-child { border-top:0; }
.permission-priority-note { margin-bottom: 12px; }
.permission-matrix { display: grid; gap: 12px; margin-top: 14px; }
.permission-group { border: 1px solid #343a43; background: #20242a; border-radius: 6px; overflow: hidden; }
.permission-group h4 { margin: 0; padding: 12px 14px; background: #282d34; color: #f2f4f7; font-size: 14px; }
.permission-row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 150px 180px;
    gap: 12px;
    align-items: center;
    padding: 11px 14px;
    border-top: 1px solid #30353d;
}
.permission-description { display: grid; gap: 3px; min-width: 0; }
.permission-description strong { color: #e8ebef; font-size: 14px; }
.permission-description span { color: #858d99; font-size: 12px; overflow-wrap: anywhere; }
.permission-description span b { color:#b6bdc8; font-weight:600; }
.permission-description .permission-key { color:#69717d; }
.permission-description .permission-role-rules { color:#aeb8c7; }
.permission-description .permission-logic { color:#929baa; }
.permission-description .permission-admin-summary { color:#c5cad2; }
.permission-description .permission-effective-summary { color:#dfe3e9; }
.permission-risk-high { color:#ffb25f; font-size:12px; font-weight:600; }
.permission-constraints { grid-column:1 / -1; }
.permission-constraints summary { color:#aeb4bf; cursor:pointer; font-size:12px; }
.permission-constraint-grid { display:grid; grid-template-columns:repeat(3, minmax(170px, 1fr)); gap:10px; padding-top:10px; }
.permission-constraint-grid label { color:#aeb4bf; font-size:12px; }
.permission-constraint-grid input, .permission-constraint-grid select { width:100%; margin-top:5px; }
.permission-inline-check { display:flex; align-items:center; gap:7px; padding-top:22px; }
.permission-inline-check input { width:auto; margin:0; }
.permission-no-scope { color: #737b86; font-size: 12px; }
@media (max-width: 900px) {
    .permission-toolbar, .permission-row { grid-template-columns: 1fr; }
    .permission-constraint-grid, .permission-governance-row { grid-template-columns: 1fr; }
}
.withdrawal-preview-panel {
    grid-column: 1 / -1;
    border: 1px solid #3a4050;
    background: #171a21;
    color: #aeb4c0;
    padding: 14px 16px;
    border-radius: 6px;
    min-height: 48px;
}
.withdrawal-preview-panel.ready { color: #e8ebf2; }
.withdrawal-preview-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid #343a48;
    border-radius: 6px;
    background: #343a48;
}
.withdrawal-preview-summary span {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 12px;
    background: #20242d;
    min-width: 0;
}
.withdrawal-preview-summary small,
.withdrawal-preview-detail-row small { color: #8d94a3; font-size: 12px; }
.withdrawal-preview-summary strong { font-size: 17px; color: #f1f3f7; }
.withdrawal-preview-summary .net strong { color: #55d58b; }
.withdrawal-preview-totals {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 12px 0;
    border-bottom: 1px solid #343a48;
}
.withdrawal-preview-totals span { color: #9ea5b3; }
.withdrawal-preview-totals b { display: block; margin-top: 3px; color: #f0c66d; }
.withdrawal-preview-details-title { padding: 11px 0 5px; color: #c8cdd7; font-weight: 600; }
.withdrawal-preview-detail-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 8px 0;
    border-top: 1px solid #2d323e;
}
.withdrawal-preview-detail-row span { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.withdrawal-preview-detail-row b { color: #f0c66d; white-space: nowrap; }
.withdrawal-preview-empty { padding-top: 12px; color: #8d94a3; }
@media (max-width: 720px) {
    .withdrawal-preview-summary,
    .withdrawal-preview-totals { grid-template-columns: 1fr; }
}
