.users-page,.users-modal{--users-primary: #8848f9;--users-primary-soft: rgba(136, 72, 249, .1);--users-border: #e0dfdf;--users-muted: #f6f6f6;--users-muted-fg: #7f7f7f;--users-card-shadow: 0 0 4px rgba(255, 255, 255, 1)}.users-page-header h4.ant-typography{font-size:24px;font-weight:700;margin-bottom:4px!important}.users-page-header .ant-typography-secondary{font-size:14px}.users-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}@media (max-width: 1100px){.users-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.users-stats{grid-template-columns:1fr}}.users-stat-card{background:#fff;border:1px solid var(--users-border);border-radius:12px;padding:16px;box-shadow:var(--users-card-shadow)}.users-stat-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.users-stat-label{font-size:14px;color:var(--users-muted-fg)}.users-stat-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}.users-stat-icon.primary{background:var(--users-primary-soft);color:var(--users-primary)}.users-stat-icon.success{background:#ecfdf5;color:#10b981}.users-stat-icon.danger{background:#fef2f2;color:#ef4444}.users-stat-icon.warning{background:#fffbeb;color:#f59e0b}.users-stat-value{font-size:24px;font-weight:700;line-height:1.2}.users-stat-value.primary{color:#202020}.users-stat-value.success{color:#059669}.users-stat-value.danger{color:#ef4444}.users-stat-value.warning{color:#d97706}.users-toolbar{background:#fff;border:1px solid var(--users-border);border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:var(--users-card-shadow)}.users-toolbar-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.users-search{flex:1;min-width:220px}.users-search .ant-input-affix-wrapper{border-radius:8px;background:var(--users-muted);border-color:var(--users-border);padding:6px 12px}.users-search .ant-input-affix-wrapper:focus,.users-search .ant-input-affix-wrapper-focused{border-color:var(--users-primary);box-shadow:0 0 0 2px #8848f926}.users-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.users-filter-group{display:flex;align-items:center;gap:4px;background:var(--users-muted);border-radius:8px;padding:4px;flex-shrink:0}.users-filter-pill{border:none;background:transparent;color:var(--users-muted-fg);font-size:13px;font-weight:500;padding:6px 12px;border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.users-filter-pill:hover{color:#202020}.users-filter-pill.active{background:#fff;color:#202020;box-shadow:var(--users-card-shadow)}.users-toolbar-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.users-btn-danger-soft.ant-btn{border-color:#fecaca;color:#ef4444;background:#fef2f2;border-radius:8px;height:36px;font-weight:500}.users-btn-danger-soft.ant-btn:not(:disabled):hover{color:#dc2626!important;background:#fee2e2!important;border-color:#fca5a5!important}.users-btn-success-soft.ant-btn{border-color:#a7f3d0;color:#059669;background:#ecfdf5;border-radius:8px;height:36px;font-weight:500}.users-btn-success-soft.ant-btn:not(:disabled):hover{color:#047857!important;background:#d1fae5!important;border-color:#6ee7b7!important}.users-result-hint{margin-top:12px;font-size:12px;color:var(--users-muted-fg)}.users-table-wrap{background:#fff;border:1px solid var(--users-border);border-radius:12px;overflow:hidden;box-shadow:var(--users-card-shadow)}.users-table-wrap .users-table .ant-table{background:transparent}.users-table-wrap .users-table .ant-table-thead>tr>th{background:var(--users-muted)!important;border-bottom:1px solid var(--users-border);color:var(--users-muted-fg);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:12px 20px}.users-table-wrap .users-table .ant-table-tbody>tr>td{padding:16px 20px;border-bottom:1px solid var(--users-border)}.users-table-wrap .users-table .ant-table-tbody>tr:nth-child(2n)>td{background:#f6f6f659}.users-table-wrap .users-table .ant-table-tbody>tr:hover>td{background:#f6f6f6bf!important}.users-table-wrap .users-table .ant-pagination{padding:12px 20px;margin:0!important;border-top:1px solid var(--users-border)}.users-id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;color:var(--users-muted-fg)}.users-profile{display:flex;align-items:center;gap:12px}.users-avatar{width:36px;height:36px;border-radius:999px;background:var(--users-primary-soft);color:var(--users-primary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.users-name{font-size:14px;font-weight:500;color:#202020}.users-phone{display:flex;align-items:center;gap:4px;margin-top:2px;font-size:12px;color:var(--users-muted-fg)}.users-power{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600}.users-power.positive{color:var(--users-primary)}.users-power.empty{color:var(--users-muted-fg);font-weight:500}.users-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}.users-pill-dot{width:6px;height:6px;border-radius:999px;flex-shrink:0}.users-pill.neutral{background:#f3f4f6;color:#4b5563}.users-pill.neutral .users-pill-dot{background:#9ca3af}.users-pill.month{background:#eff6ff;color:#2563eb}.users-pill.month .users-pill-dot{background:#60a5fa}.users-pill.year{background:#eef2ff;color:#4f46e5}.users-pill.year .users-pill-dot{background:#818cf8}.users-pill.forever{background:#fffbeb;color:#d97706}.users-pill.forever .users-pill-dot{background:#fbbf24}.users-pill.active{background:#ecfdf5;color:#059669}.users-pill.active .users-pill-dot{background:#34d399}.users-pill.disabled{background:#fef2f2;color:#ef4444}.users-pill.disabled .users-pill-dot{background:#f87171}.users-vip-date{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#2563eb}.users-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.users-icon-btn.ant-btn{width:32px;height:32px;padding:0;border:none;border-radius:8px;color:var(--users-muted-fg);background:transparent;box-shadow:none}.users-icon-btn.ant-btn:hover{color:var(--users-primary)!important;background:var(--users-primary-soft)!important}.users-icon-btn.edit.ant-btn:hover{color:#2563eb!important;background:#eff6ff!important}.users-icon-btn.delete.ant-btn:hover{color:#ef4444!important;background:#fef2f2!important}.users-toggle-btn.ant-btn{height:28px;padding:0 10px;border-radius:8px;font-size:12px;font-weight:500;border:none;box-shadow:none}.users-toggle-btn.enable{color:#059669;background:#ecfdf5}.users-toggle-btn.enable:hover{color:#047857!important;background:#d1fae5!important}.users-toggle-btn.disable{color:#d97706;background:#fffbeb}.users-toggle-btn.disable:hover{color:#b45309!important;background:#fef3c7!important}.users-modal .ant-modal-content{border-radius:16px;overflow:hidden}.users-modal .ant-modal-header{padding:20px 24px 12px;border-bottom:none}.users-modal .ant-modal-title{font-size:18px;font-weight:600}.users-modal .ant-modal-body{padding:0 24px 8px}.users-modal .ant-modal-footer{padding:16px 24px 20px;border-top:none}.users-modal .ant-form-item-label>label{font-size:12px;color:var(--users-muted-fg);font-weight:500}.users-modal .ant-input,.users-modal .ant-input-affix-wrapper,.users-modal .ant-select-selector{border-radius:8px!important;background:var(--users-muted)!important;border-color:var(--users-border)!important}.users-modal .ant-input:focus,.users-modal .ant-input-affix-wrapper-focused,.users-modal .ant-select-focused .ant-select-selector{border-color:var(--users-primary)!important;box-shadow:0 0 0 2px #8848f926!important}.users-modal .ant-btn-primary{background:var(--users-primary);border-color:var(--users-primary);border-radius:10px;box-shadow:none}.users-modal .ant-btn-primary:hover{background:#7338e8!important;border-color:#7338e8!important}.users-modal .ant-btn-default{border-radius:10px}.users-logs-table .ant-table-thead>tr>th{background:var(--users-muted)!important}.users-power-delta.positive{color:#52c41a;font-weight:600}.users-power-delta.negative{color:#ff4d4f;font-weight:600}.categories-tree-row-child td:first-child{padding-left:36px!important}.categories-expand-btn{width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#999}.categories-expand-placeholder{display:inline-block;width:22px}.categories-drag-handle{color:#999;cursor:grab;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center}.categories-drag-handle.disabled{color:#ddd;cursor:default}.categories-drag-over td{background:#f0f5ff!important}.categories-hint{margin-bottom:12px;font-size:12px;color:#999}.tasks-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}@media (max-width: 1100px){.tasks-stats{grid-template-columns:1fr}}.tasks-stat-card{background:#fff;border:1px solid #e0dfdf;border-radius:12px;padding:16px;box-shadow:0 0 4px #fff}.tasks-stat-title{font-size:14px;font-weight:600;color:#333;margin-bottom:12px}.tasks-stat-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tasks-stat-metric-label{font-size:12px;color:#7f7f7f;margin-bottom:4px}.tasks-stat-metric-value{font-size:22px;font-weight:700;line-height:1.2}.tasks-stat-metric-value.primary{color:#1677ff}.tasks-stat-metric-value.danger{color:#cf1322}.tasks-stat-metric-value.success{color:#52c41a}.tasks-stat-dod{font-size:12px;margin-top:4px;line-height:1.2}.tasks-stat-dod.up{color:#cf1322}.tasks-stat-dod.down{color:#52c41a}.tasks-stat-dod.muted{color:#999}.tasks-failure-ranking{margin-top:16px;background:#fff;border:1px solid #e0dfdf;border-radius:12px;padding:16px}.tasks-failure-ranking-title{font-size:14px;font-weight:600;color:#333;margin-bottom:12px}.tasks-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.tasks-date-shortcuts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.packages-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.packages-section-title{font-size:15px;font-weight:600;color:#333}.packages-section-hint{margin-top:4px;font-size:12px;color:#999}.packages-drag-handle{color:#999;cursor:grab;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center}.packages-drag-over td{background:#f0f5ff!important}body{margin:0;font-family:PingFang SC,sans-serif;background:#f0f2f5}.admin-logo{height:64px;flex-shrink:0;display:flex;align-items:center;padding:0 20px;color:#fff;font-weight:700;font-size:16px;letter-spacing:.5px;background:linear-gradient(135deg,#1677ff,#722ed1)}.admin-sider{position:fixed;left:0;top:0;bottom:0;height:100vh;overflow:hidden;z-index:100;display:flex;flex-direction:column}.admin-sider-menu{flex:1;overflow-y:auto;overflow-x:hidden}.admin-main{margin-left:220px;min-height:100vh}.admin-header{background:#fff;padding:0 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 4px #0000000f}.admin-content{margin:24px;min-height:calc(100vh - 112px)}.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e1b4b,#312e81)}.login-card{width:420px;border-radius:16px;box-shadow:0 20px 60px #00000059}.chart-card{border-radius:12px}.channels-page{display:flex;margin:-24px;min-height:calc(100vh - 64px);background:#eef1f6}.channels-rail{width:280px;flex-shrink:0;display:flex;flex-direction:column;min-height:calc(100vh - 64px);background:linear-gradient(165deg,#12151c,#1a2030 48%,#151a26);color:#ffffffeb;border-right:1px solid rgba(255,255,255,.06);box-shadow:4px 0 24px #0f172a1f}.channels-rail-brand{display:flex;align-items:center;gap:12px;padding:22px 18px 16px;border-bottom:1px solid rgba(255,255,255,.07)}.channels-rail-brand-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;background:linear-gradient(135deg,#1677ff,#722ed1);box-shadow:0 8px 20px #1677ff59}.channels-rail-brand-title{font-size:16px;font-weight:600;line-height:1.3;color:#fff}.channels-rail-brand-sub{margin-top:2px;font-size:12px;color:#ffffff73}.channels-rail-add-wrap{padding:14px 14px 8px}.channels-rail-add{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;color:#fff;background:linear-gradient(135deg,#1677ff,#4096ff);box-shadow:0 4px 14px #1677ff59;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.channels-rail-add:hover{filter:brightness(1.06);box-shadow:0 6px 18px #1677ff73}.channels-rail-add:active{transform:scale(.98)}.channels-rail-scroll{flex:1;min-height:0;overflow-y:auto;padding:6px 10px 12px}.channels-rail-scroll::-webkit-scrollbar{width:5px}.channels-rail-scroll::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.channels-rail-section-label{padding:8px 8px 6px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffff59}.channels-rail-loading,.channels-rail-empty{padding:24px 12px;text-align:center;font-size:13px;color:#fff6}.channels-rail-list{display:flex;flex-direction:column;gap:4px}.channels-rail-item{display:flex;align-items:stretch;gap:2px;border-radius:10px;position:relative}.channels-rail-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#69b1ff,#1677ff);box-shadow:0 0 10px #1677ff99}.channels-rail-item:hover .channels-rail-item-del{opacity:1}.channels-rail-item.disabled .channels-rail-item-name{opacity:.55}.channels-rail-item-btn{flex:1;display:flex;align-items:center;gap:10px;min-width:0;padding:10px 10px 10px 14px;border:none;border-radius:10px;background:transparent;cursor:pointer;text-align:left;color:inherit;transition:background .15s ease}.channels-rail-item-btn:hover{background:#ffffff0f}.channels-rail-item.active .channels-rail-item-btn{background:#1677ff24}.channels-rail-item-icon{width:34px;height:34px;flex-shrink:0;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;background:#ffffff14;color:#ffffffbf}.channels-rail-item-icon--storm{background:#faad1426;color:#ffc53d}.channels-rail-item-icon--bb,.channels-rail-item-icon--sc{background:#52c41a1f;color:#95de64}.channels-rail-item-icon--openai{background:#722ed126;color:#b37feb}.channels-rail-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.channels-rail-item-name{font-size:14px;font-weight:500;color:#ffffffeb;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channels-rail-item.active .channels-rail-item-name{color:#fff}.channels-rail-item-meta{font-size:11px;color:#ffffff61;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channels-rail-status{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-right:4px}.channels-rail-status--ok{background:#52c41a;box-shadow:0 0 6px #52c41ab3}.channels-rail-status--warn{background:#faad14;box-shadow:0 0 6px #faad14b3}.channels-rail-status--error{background:#ff4d4f;box-shadow:0 0 6px #ff4d4fb3}.channels-rail-item-del{width:30px;flex-shrink:0;border:none;border-radius:8px;background:transparent;color:#ffffff40;cursor:pointer;opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity .15s ease,color .15s ease,background .15s ease}.channels-rail-item-del:hover{color:#ff7875;background:#ff4d4f1f}.channels-rail-footer{flex-shrink:0;padding:10px 10px 16px;border-top:1px solid rgba(255,255,255,.07);background:#00000026}.channels-rail-templates{display:flex;flex-direction:column;gap:4px}.channels-rail-template{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:1px dashed rgba(255,255,255,.14);border-radius:8px;background:#ffffff08;color:#ffffff8c;font-size:12px;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.channels-rail-template:hover{border-color:#69b1ff80;color:#91caff;background:#1677ff1a}.channels-workspace{flex:1;min-width:0;overflow-y:auto;padding:20px 24px 32px}.channels-workspace-empty{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px);background:#fff;border-radius:14px;box-shadow:0 1px 3px #0f172a0f}.channels-workspace-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;padding:20px 22px;background:#fff;border-radius:14px;box-shadow:0 1px 3px #0f172a0f}.channels-workspace-title{margin:0 0 8px!important;font-weight:600!important}.channels-workspace-tags{margin-bottom:4px}.channels-tag-protocol{background:#f0f5ff;color:#1677ff}.channels-workspace-url{margin-top:8px;font-size:12px;color:#8c8c8c;word-break:break-all;font-family:ui-monospace,Cascadia Code,Consolas,monospace}.channels-workspace-key{color:#bfbfbf}.channels-workspace-switch-label{font-size:13px;color:#595959}.channels-panel{margin-bottom:14px;border-radius:14px!important;box-shadow:0 1px 3px #0f172a0f!important}.channels-panel .ant-card-head{border-bottom:1px solid #f0f0f0;min-height:48px}.channels-model-tabs{display:flex;flex-wrap:wrap;gap:8px}.channels-model-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid #e8e8e8;border-radius:999px;background:#fafafa;cursor:pointer;font-size:13px;color:#595959;transition:border-color .15s ease,color .15s ease,background .15s ease,box-shadow .15s ease}.channels-model-tab:hover{border-color:#91caff;color:#1677ff;background:#f0f7ff}.channels-model-tab.active{border-color:#1677ff;background:linear-gradient(135deg,#e6f4ff,#f0f7ff);color:#1677ff;font-weight:500;box-shadow:0 2px 8px #1677ff26}.channels-model-tab-tag{margin:0!important;font-size:11px;line-height:18px;border-radius:999px}.channels-preset-links{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.channels-save-bar{margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}@media (max-width: 992px){.channels-page{flex-direction:column;margin:-24px -16px}.channels-rail{width:100%;min-height:auto;max-height:42vh}.channels-rail-scroll{max-height:28vh}}@media (prefers-reduced-motion: reduce){.channels-rail-add,.channels-rail-item-btn,.channels-rail-template,.channels-model-tab{transition:none}}
