@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";.search-select[data-v-d3b4e4a8]{position:relative;min-width:0}.search-select-trigger[data-v-d3b4e4a8]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:34px;border:1px solid #e1e2ec;border-radius:7px;background:#fff;color:#555a72;padding:0 9px;font-size:11px;text-align:left}.search-select-trigger[data-v-d3b4e4a8]:focus{outline:2px solid #d9d3ff;border-color:#7665e4}.search-select-trigger[data-v-d3b4e4a8]:disabled{background:#f3f4f8;color:#a7a9b7;cursor:not-allowed}.search-select-trigger .placeholder[data-v-d3b4e4a8]{color:#a3a6b4}.search-select-actions[data-v-d3b4e4a8]{display:flex;align-items:center;gap:5px;color:#888ca0}.search-select-clear[data-v-d3b4e4a8]{border:0;background:none;color:#9a9daf;font-size:14px;line-height:1;padding:0;cursor:pointer}.search-select-arrow[data-v-d3b4e4a8]{font-size:14px;line-height:1;transform:translateY(-1px)}.search-select-menu[data-v-d3b4e4a8]{position:absolute;z-index:60;top:calc(100% + 5px);left:0;right:0;min-width:220px;border:1px solid #dedfea;border-radius:8px;background:#fff;box-shadow:0 12px 28px #1e1e3c29;padding:7px}.search-select-search[data-v-d3b4e4a8]{width:100%;height:31px;border:1px solid #e1e2ec;border-radius:6px;padding:0 8px;font-size:11px;outline:none}.search-select-search[data-v-d3b4e4a8]:focus{border-color:#7665e4}.search-select-options[data-v-d3b4e4a8]{max-height:min(340px,45vh);overflow:auto;margin-top:5px}.search-select-option[data-v-d3b4e4a8]{display:flex;align-items:center;gap:7px;width:100%;border:0;background:#fff;border-radius:5px;color:#5e6278;padding:8px;text-align:left;font-size:11px;cursor:pointer}.search-select-option[data-v-d3b4e4a8]:hover,.search-select-option.selected[data-v-d3b4e4a8]{background:#f0edff;color:#6655df}.search-select-option small[data-v-d3b4e4a8]{margin-left:auto;color:#a0a3b4;font-size:9px}.search-select-check[data-v-d3b4e4a8]{display:grid;place-items:center;width:15px;height:15px;border:1px solid #c9cbd8;border-radius:3px;color:#fff;background:#6655df;font-size:10px}.search-select-option:not(.selected) .search-select-check[data-v-d3b4e4a8]{background:#fff}.search-select-empty[data-v-d3b4e4a8]{margin:0;padding:15px 8px;color:#a2a5b4;font-size:10px;text-align:center}.search-select-pager[data-v-d3b4e4a8]{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 2px 1px;border-top:1px solid #f0f0f5;color:#8e92a5;font-size:9px}.search-select-pager button[data-v-d3b4e4a8]{border:1px solid #e0e1ea;border-radius:4px;background:#fff;color:#111;padding:4px 7px;font-size:9px;cursor:pointer}.search-select-pager button[data-v-d3b4e4a8]:disabled{color:#bfc1cb;background:#f7f7fa;cursor:not-allowed}.media-preview-list[data-v-86bd008f]{display:flex;align-items:center;gap:8px;min-height:78px}.media-preview-button[data-v-86bd008f]{width:82px;height:76px;padding:0;border:1px solid #e2e4ec;border-radius:6px;overflow:hidden;background:#f5f6fa;cursor:zoom-in}.media-preview-button img[data-v-86bd008f]{width:100%;height:100%;display:block;object-fit:cover}.media-preview-list.compact[data-v-86bd008f]{min-height:0;gap:6px}.media-preview-list.compact .media-preview-button[data-v-86bd008f]{width:44px;height:44px}.media-preview-backdrop[data-v-86bd008f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:24px;background:#121426b8}.media-preview-dialog[data-v-86bd008f]{position:relative;max-width:min(90vw,960px);max-height:90vh;padding:14px;border-radius:10px;background:#fff;box-shadow:0 18px 50px #0000004d}.media-preview-dialog img[data-v-86bd008f]{display:block;max-width:min(84vw,900px);max-height:84vh;object-fit:contain}.media-preview-close[data-v-86bd008f]{position:absolute;top:-13px;right:-13px;width:30px;height:30px;border:0;border-radius:50%;background:#2d3048;color:#fff;font-size:22px;line-height:1;cursor:pointer}.workbench-hub[data-v-70711269]{color:#30334b}.role-tabs[data-v-70711269]{display:flex;gap:6px;overflow:auto;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid #e9eaf2}.role-tabs button[data-v-70711269]{min-width:118px;padding:10px 13px;text-align:left;border:1px solid #e4e5ee;border-radius:8px;background:#fff;color:#777b91}.role-tabs button.selected[data-v-70711269]{border-color:var(--accent);background:#f3f1ff;color:var(--accent);box-shadow:0 4px 12px #3d3c6d12}.role-tabs span[data-v-70711269],.role-tabs small[data-v-70711269]{display:block}.role-tabs span[data-v-70711269]{font-size:12px;font-weight:600}.role-tabs small[data-v-70711269]{font-size:9px;margin-top:4px;color:#a2a5b5}.hub-head[data-v-70711269]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.eyebrow[data-v-70711269]{font-size:10px;letter-spacing:.14em;color:var(--accent);font-weight:700}.hub-head h2[data-v-70711269]{margin:8px 0 5px;font-size:25px;color:#24273f}.hub-head p[data-v-70711269]{margin:0;color:#9699ab;font-size:12px}.hub-head-actions[data-v-70711269]{display:flex;gap:8px}.hub-refresh[data-v-70711269]{height:36px;padding:0 15px;border:0;border-radius:8px;color:#fff;background:var(--accent);font-size:12px}.hub-metrics[data-v-70711269]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.hub-metric[data-v-70711269]{min-height:84px;background:#fff;border:1px solid #e9eaf2;border-top:3px solid var(--accent);border-radius:10px;padding:15px 17px}.hub-metric small[data-v-70711269]{display:block;color:#9296aa;font-size:10px}.hub-metric b[data-v-70711269]{display:block;color:#292c43;font-size:20px;margin-top:10px}.hub-layout[data-v-70711269]{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.8fr);gap:16px}.hub-section-title[data-v-70711269]{display:flex;align-items:center;margin-bottom:11px}.hub-section-title b[data-v-70711269]{display:block;font-size:14px}.hub-section-title span[data-v-70711269]{display:block;margin-top:4px;color:#a1a4b4;font-size:10px}.todo-grid[data-v-70711269]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.todo-item[data-v-70711269]{display:flex;align-items:center;gap:10px;min-height:72px;padding:12px;text-align:left;border:1px solid #e9eaf2;border-radius:9px;background:#fff}.todo-item[data-v-70711269]:hover{border-color:var(--accent);box-shadow:0 5px 16px #3d3c6d12}.todo-icon[data-v-70711269]{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#f0edff;color:var(--accent);font-size:14px;font-weight:700;flex:none}.todo-copy[data-v-70711269]{flex:1;min-width:0}.todo-copy b[data-v-70711269]{display:block;color:#3b3e56;font-size:11px}.todo-copy small[data-v-70711269]{display:block;margin-top:4px;color:#9699aa;font-size:9px;line-height:1.45}.todo-item strong[data-v-70711269]{min-width:22px;text-align:right;color:var(--accent);font-size:15px}.todo-item em[data-v-70711269]{font-style:normal;color:#a3a6b6;font-size:18px}.panel[data-v-70711269]{background:#fff;border:1px solid #e9eaf2;border-radius:10px;overflow:hidden;margin-bottom:16px}.panel-title[data-v-70711269]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px}.panel-title b[data-v-70711269]{display:block;font-size:12px;color:#3b3e56}.panel-title small[data-v-70711269]{display:block;margin-top:4px;color:#a1a4b4;font-size:9px;font-weight:400}.link[data-v-70711269]{border:0;background:none;color:#6757df;font-size:10px;cursor:pointer}.table-scroll[data-v-70711269]{overflow:auto}.hub-panel table[data-v-70711269]{width:100%;min-width:650px;border-collapse:collapse}.hub-panel th[data-v-70711269],.hub-panel td[data-v-70711269]{padding:10px 12px;border-top:1px solid #f0f1f5;text-align:left;white-space:nowrap;font-size:10px}.hub-panel th[data-v-70711269]{color:#999cad;background:#fcfcfe;font-weight:500}.hub-panel td[data-v-70711269]{color:#111}.status[data-v-70711269]{display:inline-block;padding:3px 7px;border-radius:5px;font-size:9px}.status.ok[data-v-70711269]{background:#e5f7f0;color:#238e6d}.status.info[data-v-70711269]{background:#e7f1ff;color:#3f7fc9}.status.warn[data-v-70711269]{background:#fff0dd;color:#c48031}.status.bad[data-v-70711269]{background:#ffe9ed;color:#c65368}.status.muted[data-v-70711269]{background:#eff0f5;color:#84889a}.empty[data-v-70711269]{text-align:center;color:#a0a3b4;padding:25px!important}.overview-list[data-v-70711269]{padding:0 16px 12px}.overview-list button[data-v-70711269]{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 0;border:0;border-top:1px solid #f0f1f5;background:none;text-align:left;color:#666a80;font-size:10px}.overview-list button[data-v-70711269]:first-child{border-top:0}.overview-list strong[data-v-70711269]{color:#45485e;font-size:11px;text-align:right}.role-actions .action-buttons[data-v-70711269]{display:grid;grid-template-columns:1fr;gap:7px;padding:0 16px 16px}.role-actions .action-buttons button[data-v-70711269]{height:34px;border:1px solid #e0e1eb;border-radius:7px;background:#fff;color:#666a80;font-size:10px;text-align:left;padding:0 11px}.role-actions .action-buttons button[data-v-70711269]:hover{border-color:var(--accent);color:var(--accent)}.hub-note[data-v-70711269]{display:flex;gap:9px;margin-top:2px;padding:12px 14px;border-radius:8px;background:#f4f3ff;color:#777a91;font-size:10px}.hub-note b[data-v-70711269]{color:var(--accent)}@media (max-width:1200px){.hub-metrics[data-v-70711269]{grid-template-columns:repeat(3,1fr)}.hub-layout[data-v-70711269]{grid-template-columns:1fr}.hub-side-column[data-v-70711269]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hub-side-column .panel[data-v-70711269]{margin-bottom:0}}@media (max-width:760px){.role-tabs[data-v-70711269]{flex-wrap:wrap}.hub-head[data-v-70711269]{display:block}.hub-head-actions[data-v-70711269]{margin-top:14px}.hub-metrics[data-v-70711269]{grid-template-columns:repeat(2,1fr)}.todo-grid[data-v-70711269]{grid-template-columns:1fr}.hub-side-column[data-v-70711269]{display:block}.hub-side-column .panel[data-v-70711269]{margin-bottom:16px}}.hub-head-actions[data-v-70711269]{display:flex;align-items:center;gap:8px}.hub-lookup[data-v-70711269]{width:220px}@media (max-width:760px){.hub-lookup[data-v-70711269]{width:100%}.hub-head-actions[data-v-70711269]{flex-wrap:wrap}}.login-screen[data-v-46c55be7]{--c-ink: #1d1f36;--c-text: #5b6079;--c-muted: #9a9db2;--c-line: #e3e4ee;--c-brand: #6c56f0;--c-brand-2: #9b7bff;--c-accent: #4ce0c0;min-height:100vh;display:grid;grid-template-columns:minmax(460px,1.1fr) minmax(480px,.9fr);background:#fff}.login-visual[data-v-46c55be7]{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:44px clamp(40px,5vw,72px) 36px;color:#fff;font-family:DM Sans,Inter,Segoe UI,PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,sans-serif;background:radial-gradient(110% 80% at 100% 0%,#2a1f6a 0%,transparent 55%),radial-gradient(80% 70% at 0% 100%,#0d3644 0%,transparent 60%),#0d0b20;isolation:isolate}.login-visual[data-v-46c55be7]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(180deg,transparent 60%,rgba(8,7,22,.7));pointer-events:none}.login-grid[data-v-46c55be7]{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(70% 60% at 85% 15%,#000 15%,transparent 75%);mask-image:radial-gradient(70% 60% at 85% 15%,#000 15%,transparent 75%)}.login-glow[data-v-46c55be7]{position:absolute;z-index:0;top:-60px;right:-40px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(139,108,255,.5),rgba(76,224,192,.1) 55%,transparent 70%);filter:blur(30px);animation:login-breathe-46c55be7 7s ease-in-out infinite}.login-orbit[data-v-46c55be7]{position:absolute;z-index:0;top:-170px;right:-170px;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 44px #ffffff06,0 0 0 88px #ffffff04,inset 0 0 80px #8c6eff1f}.login-orbit i[data-v-46c55be7]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;animation:login-spin-46c55be7 20s linear infinite}.login-orbit i[data-v-46c55be7]:before{content:"";position:absolute;top:50%;left:-5px;width:10px;height:10px;border-radius:50%;background:var(--c-accent);box-shadow:0 0 0 4px #4ce0c02e,0 0 18px 4px #4ce0c099}.login-orbit i[data-v-46c55be7]:nth-child(2){top:70px;right:70px;bottom:70px;left:70px;border:1px dashed rgba(255,255,255,.1);animation-duration:30s;animation-direction:reverse}.login-orbit i[data-v-46c55be7]:nth-child(2):before{width:7px;height:7px;left:-4px;background:var(--c-brand-2);box-shadow:0 0 14px 3px #9b7bffb3}.login-brand[data-v-46c55be7],.login-copy[data-v-46c55be7],.login-footer[data-v-46c55be7]{position:relative;z-index:2}.login-brand[data-v-46c55be7]{display:flex;align-items:center;gap:12px}.login-mark[data-v-46c55be7]{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#a184ff,#5b45e6);box-shadow:0 8px 20px -6px #6c56f0cc,inset 0 1px #ffffff40;font-size:19px;font-weight:800}.login-brand b[data-v-46c55be7]{display:block;font-size:15px;font-weight:700;letter-spacing:.02em}.login-brand small[data-v-46c55be7]{display:block;margin-top:3px;color:#8d8bb3;font-size:10px;letter-spacing:.18em}.login-copy[data-v-46c55be7]{max-width:460px}.login-tag[data-v-46c55be7]{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 12px;border:1px solid rgba(76,224,192,.28);border-radius:999px;background:#4ce0c014;color:#7ff0d6;font-size:12px;font-weight:500;letter-spacing:.08em}.login-tag[data-v-46c55be7]:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c-accent);box-shadow:0 0 8px var(--c-accent)}.login-copy h1[data-v-46c55be7]{display:flex;align-items:baseline;gap:.22em;margin:26px 0 0;font-size:clamp(52px,5.4vw,80px);line-height:1;font-weight:800}.login-title-en[data-v-46c55be7]{letter-spacing:-.01em;color:#fff}.login-title-cn[data-v-46c55be7]{font-size:.86em;font-weight:700;letter-spacing:.04em;background:linear-gradient(100deg,#c9bcff,#8fe9d6);-webkit-background-clip:text;background-clip:text;color:transparent}.login-sub[data-v-46c55be7]{margin:18px 0 0;color:#e3e1f5;font-size:clamp(18px,1.6vw,22px);font-weight:500;letter-spacing:.14em}.login-slogan[data-v-46c55be7]{display:flex;align-items:center;gap:14px;margin:28px 0 0;color:#9e9cc2;font-size:13px;font-weight:600;letter-spacing:.28em}.login-slogan[data-v-46c55be7]:before{content:"";flex:0 0 32px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--c-accent),rgba(76,224,192,0))}.login-footer[data-v-46c55be7]{display:flex;justify-content:space-between;gap:16px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);color:#6f6e94;font-size:12px}.login-eyebrow[data-v-46c55be7]{display:inline-flex;align-items:center;gap:10px;color:var(--c-brand);font-size:11px;font-weight:700;letter-spacing:.2em}.login-eyebrow[data-v-46c55be7]:before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor}.login-panel[data-v-46c55be7]{position:relative;display:flex;align-items:center;justify-content:center;padding:48px;background:radial-gradient(60% 50% at 100% 0%,rgba(155,123,255,.1),transparent 70%),radial-gradient(50% 40% at 0% 100%,rgba(76,224,192,.08),transparent 70%),#f7f7fb}.login-form[data-v-46c55be7]{width:min(400px,100%);padding:40px 36px 32px;border:1px solid rgba(227,228,238,.9);border-radius:22px;background:#ffffffeb;box-shadow:0 1px 2px #1d1f360a,0 24px 60px -18px #3c308c2e;animation:login-rise-46c55be7 .5s cubic-bezier(.2,.8,.2,1) both}.login-eyebrow[data-v-46c55be7]{color:var(--c-brand);font-size:10px}.login-form h2[data-v-46c55be7]{margin:12px 0 30px;color:var(--c-ink);font-size:30px;font-weight:800;letter-spacing:-.03em}.login-form label[data-v-46c55be7]{display:block;margin-bottom:18px;color:var(--c-text);font-size:12px;font-weight:600}.login-form input[data-v-46c55be7]{display:block;width:100%;height:48px;margin-top:8px;padding:0 14px 0 42px;border:1px solid var(--c-line);border-radius:12px;outline:none;background:#fafafd no-repeat 14px center / 18px 18px;color:var(--c-ink);font-size:14px;font-weight:500;transition:border-color .18s,box-shadow .18s,background-color .18s}.login-form input[data-v-46c55be7]::placeholder{color:#b4b7c8;font-weight:400}.login-form input[data-v-46c55be7]:hover{border-color:#cfd0e0}.login-form input[data-v-46c55be7]:focus{border-color:var(--c-brand);background-color:#fff;box-shadow:0 0 0 4px #6c56f01f}.login-form label:nth-of-type(1) input[data-v-46c55be7]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9db2' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c1.5-3.6 4.4-5.5 8-5.5s6.5 1.9 8 5.5'/%3E%3C/svg%3E")}.login-form label:nth-of-type(2) input[data-v-46c55be7]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9db2' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='4.5' y='10.5' width='15' height='10' rx='2.5'/%3E%3Cpath d='M8 10.5V7.8a4 4 0 0 1 8 0v2.7'/%3E%3C/svg%3E")}.login-form label:nth-of-type(3) input[data-v-46c55be7]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9db2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5 5 6v5.5c0 4.3 3 7.6 7 9 4-1.4 7-4.7 7-9V6z'/%3E%3Cpath d='m9 12 2.2 2.2L15.5 10'/%3E%3C/svg%3E")}.captcha-row[data-v-46c55be7]{display:flex;gap:10px}.captcha-row input[data-v-46c55be7]{flex:1;min-width:0}.captcha-image[data-v-46c55be7]{flex:0 0 124px;display:grid;place-items:center;width:124px;height:48px;margin-top:8px;padding:2px;border:1px solid var(--c-line);border-radius:12px;background:#fff;overflow:hidden;cursor:pointer;transition:border-color .18s,transform .18s}.captcha-image[data-v-46c55be7]:hover{border-color:var(--c-brand)}.captcha-image[data-v-46c55be7]:active{transform:scale(.97)}.captcha-image[data-v-46c55be7]:disabled{opacity:.55;cursor:wait}.captcha-image img[data-v-46c55be7]{display:block;width:100%;height:100%;object-fit:contain!important}.captcha-image span[data-v-46c55be7]{color:var(--c-brand);font-size:11px;font-weight:600}.login-error[data-v-46c55be7]{display:flex;align-items:center;gap:8px;margin:-4px 0 16px;padding:10px 12px;border:1px solid #ffd6dc;border-radius:10px;background:#fff4f5;color:#c43e57;font-size:12px;line-height:1.5}.login-error[data-v-46c55be7]:before{content:"!";flex:0 0 16px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#e5566f;color:#fff;font-size:11px;font-weight:800}.login-submit[data-v-46c55be7]{position:relative;width:100%;height:50px;margin-top:6px;border:0;border-radius:13px;overflow:hidden;color:#fff;background:linear-gradient(105deg,#5b45e6,#8a6dff 60%,#a184ff);box-shadow:0 14px 28px -10px #624ceca6,inset 0 1px #fff3;font-size:14px;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:transform .18s,box-shadow .18s,filter .18s}.login-submit[data-v-46c55be7]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translate(-100%);transition:transform .6s}.login-submit[data-v-46c55be7]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 32px -10px #624cecbf,inset 0 1px #fff3}.login-submit[data-v-46c55be7]:hover:not(:disabled):after{transform:translate(100%)}.login-submit[data-v-46c55be7]:active:not(:disabled){transform:translateY(0);filter:brightness(.96)}.login-submit[data-v-46c55be7]:disabled{opacity:.6;cursor:wait}.kook-login-link[data-v-46c55be7]{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;margin-top:46px;border:1px solid var(--c-line);border-radius:13px;background:#fff;color:var(--c-ink);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:border-color .18s,background-color .18s,color .18s}.kook-login-link[data-v-46c55be7]:before{content:"其他登录方式";position:absolute;top:-31px;left:0;right:0;color:var(--c-muted);font-size:11px;font-weight:500;letter-spacing:.08em;text-align:center;background:linear-gradient(var(--c-line),var(--c-line)) left center / calc(50% - 50px) 1px no-repeat,linear-gradient(var(--c-line),var(--c-line)) right center / calc(50% - 50px) 1px no-repeat}.kook-login-link[data-v-46c55be7]:after{content:"";order:-1;width:28px;height:18px;border-radius:11px;background-image:url(https://cospw-1321554168.cos.ap-shanghai.myqcloud.com/kook.svg);background-size:contain;background-repeat:no-repeat;background-position:center;box-shadow:0 3px 8px #5fcf2c59}.kook-login-link[data-v-46c55be7]:hover{border-color:#b6e48f;background:#f6fdf0;color:#2f6b12}@keyframes login-spin-46c55be7{to{transform:rotate(360deg)}}@keyframes login-breathe-46c55be7{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes login-rise-46c55be7{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.login-orbit i[data-v-46c55be7],.login-glow[data-v-46c55be7],.login-form[data-v-46c55be7]{animation:none}}@media (max-width: 960px){.login-screen[data-v-46c55be7]{display:block}.login-visual[data-v-46c55be7]{gap:28px;padding:24px 24px 18px}.login-copy h1[data-v-46c55be7]{margin-top:18px;font-size:44px}.login-sub[data-v-46c55be7]{margin-top:12px;font-size:16px}.login-slogan[data-v-46c55be7]{margin-top:16px;font-size:11px}.login-orbit[data-v-46c55be7]{top:-120px;right:-140px;width:320px;height:320px}.login-orbit i[data-v-46c55be7]:nth-child(2){top:44px;right:44px;bottom:44px;left:44px}.login-glow[data-v-46c55be7]{width:220px;height:220px}.login-footer[data-v-46c55be7]{flex-wrap:wrap;padding-top:12px;font-size:11px}.login-panel[data-v-46c55be7]{padding:32px 20px 48px}.login-form[data-v-46c55be7]{padding:32px 24px 26px}}.sidebar-switch[data-v-badd33e5]{margin-top:auto;padding:22px 12px}.sidebar-switch button[data-v-badd33e5]{width:100%;color:#d9deeb}.avatar img[data-v-c604787b]{width:100%;height:100%;object-fit:cover;border-radius:inherit}.upload-field[data-v-822b61ec]{margin-top:10px}.upload-label[data-v-822b61ec]{color:#777b90;font-size:11px;margin-bottom:6px}.upload-input[data-v-822b61ec]{display:none}.upload-trigger[data-v-822b61ec]{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:1px dashed #c9c9dc;border-radius:8px;padding:10px 12px;background:#fafaff;color:#111}.upload-trigger[data-v-822b61ec]:disabled{opacity:.65;cursor:wait}.upload-icon[data-v-822b61ec]{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#eeeaff;color:#6d5ae4;font-size:17px}.upload-trigger b[data-v-822b61ec]{display:block;font-size:11px}.upload-trigger small[data-v-822b61ec]{display:block;color:#9fa2b2;font-size:9px;margin-top:3px}.upload-error[data-v-822b61ec]{color:#d15c70;font-size:10px;margin-top:5px}.upload-list[data-v-822b61ec]{display:grid;gap:6px;margin-top:8px}.upload-row[data-v-822b61ec]{display:flex;align-items:center;gap:10px;min-height:92px;padding:8px 10px;border:1px solid #e7e7f0;border-radius:6px;background:#fff;font-size:10px}.upload-preview-button[data-v-822b61ec]{width:82px;height:76px;padding:0;border:0;border-radius:6px;overflow:hidden;background:#f0eff9;cursor:zoom-in}.upload-preview-button img[data-v-822b61ec]{width:100%;height:100%;object-fit:cover;display:block}.upload-row img[data-v-822b61ec],.upload-file[data-v-822b61ec]{width:82px;height:76px;border-radius:6px;object-fit:cover}.upload-file[data-v-822b61ec]{display:grid;place-items:center;background:#f0eff9;color:#7770c9;font-size:8px}.upload-file-name[data-v-822b61ec]{flex:1;color:#111;font-size:11px}.upload-remove[data-v-822b61ec]{color:#c55d73;font-size:10px}.upload-preview-backdrop[data-v-822b61ec]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:28px;background:#121426b8}.upload-preview-dialog[data-v-822b61ec]{position:relative;max-width:min(88vw,920px);max-height:88vh;padding:16px;border-radius:10px;background:#fff;box-shadow:0 18px 50px #0000004d}.upload-preview-dialog img[data-v-822b61ec]{display:block;max-width:min(82vw,860px);max-height:80vh;object-fit:contain}.upload-preview-close[data-v-822b61ec]{position:absolute;z-index:1;top:-13px;right:-13px;width:30px;height:30px;border-radius:50%;background:#2d3048;color:#fff;font-size:22px;line-height:1}.rich-field[data-v-4a12d1d6]{margin-top:10px}.rich-label[data-v-4a12d1d6]{color:#777b90;font-size:11px;margin-bottom:6px}.rich-toolbar[data-v-4a12d1d6]{display:flex;gap:4px;padding:5px 6px;border:1px solid #e1e2ed;border-bottom:0;border-radius:8px 8px 0 0;background:#fafaff}.rich-toolbar button[data-v-4a12d1d6]{border:0;border-radius:4px;padding:4px 7px;color:#111;background:transparent;font-size:10px;cursor:pointer}.rich-toolbar button[data-v-4a12d1d6]:hover{background:#eeeaff;color:#5e50c7}.rich-editor[data-v-4a12d1d6]{min-height:76px;padding:9px 10px;border:1px solid #e1e2ed;border-radius:0 0 8px 8px;background:#fff;color:#42455c;font-size:12px;line-height:1.55;outline:none}.rich-editor[data-v-4a12d1d6]:empty:before{content:attr(data-placeholder);color:#b0b2bf}.rich-help[data-v-4a12d1d6]{display:block;margin-top:4px;color:#9fa2b2;font-size:9px}.portal-shell[data-v-b38c31e3]{--ink: #1d2a35;--muted: #7c8a94;--line: #e4ebee;--canvas: #f2f6f7;--surface: #fff;--navy: #173b50;--teal: #1e8c86;--teal-dark: #177770;--teal-soft: #e5f4f1;--coral: #ef876b;--amber: #dda54f;--danger: #d86161;--shadow: 0 14px 34px rgba(32, 61, 72, .08);--ui-text: var(--ink);--ui-border: var(--line);--ui-link: var(--teal);--ui-primary: var(--teal);--ui-primary-hover: var(--teal-dark);--ui-control-height: 40px;--ui-control-font: 14px;min-height:100vh;background:var(--canvas);color:var(--ink);font-family:DM Sans,Noto Sans SC,system-ui,sans-serif}.portal-loading[data-v-b38c31e3]{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.portal-login[data-v-b38c31e3]{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-login-card[data-v-b38c31e3]{width:min(400px,100%);padding:40px 32px 32px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.portal-login-mark[data-v-b38c31e3]{width:64px;height:64px;margin:0 auto 18px;display:grid;place-items:center;border-radius:20px;background:var(--navy);color:#fff;font-size:26px;font-weight:800}.portal-login h1[data-v-b38c31e3]{margin:0 0 26px;color:var(--navy);font-size:24px}.portal-login .portal-primary[data-v-b38c31e3]{width:100%}.portal-link[data-v-b38c31e3]{display:inline-block;margin-top:18px;color:var(--teal);font-size:13px;text-decoration:none}.portal-primary[data-v-b38c31e3],.portal-secondary[data-v-b38c31e3],.portal-ghost[data-v-b38c31e3]{min-height:40px;padding:0 18px;border:0;border-radius:12px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.portal-primary[data-v-b38c31e3]{background:var(--teal);color:#fff;box-shadow:0 8px 18px #1e8c8633}.portal-primary[data-v-b38c31e3]:hover:not(:disabled){background:var(--teal-dark)}.portal-secondary[data-v-b38c31e3]{background:var(--teal-soft);color:var(--teal)}.portal-ghost[data-v-b38c31e3]{border:1px solid var(--line);background:var(--surface);color:#50616c}.portal-primary[data-v-b38c31e3]:disabled,.portal-secondary[data-v-b38c31e3]:disabled{opacity:.5;cursor:not-allowed}.portal-primary.compact[data-v-b38c31e3],.portal-secondary.compact[data-v-b38c31e3]{min-height:34px;padding:0 14px;font-size:13px}.table-link[data-v-b38c31e3]{padding:0 6px;border:0;background:none;color:var(--teal);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.table-link[data-v-b38c31e3]:hover{text-decoration:underline}.portal-error[data-v-b38c31e3]{margin:14px 0 0;color:var(--danger);font-size:13px}.portal-error.inline[data-v-b38c31e3]{margin:0 0 16px;padding:10px 14px;border-radius:12px;background:#fff0ee}.portal-app[data-v-b38c31e3]{display:flex;min-height:100vh}.portal-sidebar[data-v-b38c31e3]{position:sticky;top:0;flex:0 0 232px;height:100vh;display:flex;flex-direction:column;padding:26px 16px 20px;background:var(--navy);color:#cfe1e6}.portal-brand[data-v-b38c31e3]{display:flex;align-items:center;gap:12px;padding:0 10px 30px}.portal-brand>span[data-v-b38c31e3]{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--coral);color:#fff;font-size:18px;font-weight:800}.portal-brand b[data-v-b38c31e3]{color:#fff;font-size:17px}.portal-sidebar nav[data-v-b38c31e3]{display:grid;gap:4px}.portal-sidebar nav button[data-v-b38c31e3]{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border:0;border-radius:12px;background:transparent;color:#b9cfd6;font:inherit;font-size:15px;text-align:left;cursor:pointer}.portal-sidebar nav button span[data-v-b38c31e3]{width:18px;color:#7fb7b3;text-align:center}.portal-sidebar nav button[data-v-b38c31e3]:hover{background:#ffffff12;color:#fff}.portal-sidebar nav button.active[data-v-b38c31e3]{background:var(--teal);color:#fff;font-weight:700}.portal-sidebar nav button.active span[data-v-b38c31e3]{color:#fff}.portal-bottom[data-v-b38c31e3]{margin-top:auto;display:grid;gap:8px}.portal-bottom button[data-v-b38c31e3]{min-height:42px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:transparent;color:#cfe1e6;font:inherit;font-size:14px;cursor:pointer}.portal-bottom button[data-v-b38c31e3]:hover{background:#ffffff14;color:#fff}.portal-main[data-v-b38c31e3]{flex:1;min-width:0;padding:28px 36px 40px}.portal-topbar[data-v-b38c31e3]{display:flex;align-items:center;min-height:44px;margin-bottom:22px}.portal-topbar h2[data-v-b38c31e3]{margin:0;color:var(--navy);font-size:24px}.portal-content[data-v-b38c31e3]{width:100%}.portal-content.empty[data-v-b38c31e3]{padding:60px 0;color:var(--muted);text-align:center}.portal-card[data-v-b38c31e3]{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.profile-card[data-v-b38c31e3]{display:flex;align-items:center;gap:22px;padding:26px 28px}.profile-avatar[data-v-b38c31e3]{width:84px;height:84px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:24px;background:var(--teal-soft);color:var(--teal);font-size:32px;font-weight:800}.profile-avatar img[data-v-b38c31e3]{width:100%;height:100%;object-fit:cover}.profile-copy[data-v-b38c31e3]{flex:1;min-width:0}.profile-copy h1[data-v-b38c31e3]{margin:0 0 6px;color:var(--navy);font-size:26px}.profile-meta[data-v-b38c31e3]{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:13px}.birthday-inline[data-v-b38c31e3]{display:flex;align-items:center;gap:8px;margin-top:14px;color:#50616c;font-size:13px}.birthday-inline input[data-v-b38c31e3]{width:100px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:13px}.birthday-inline input[data-v-b38c31e3]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f}.profile-vip[data-v-b38c31e3]{flex:none;min-width:150px;padding:16px 20px;border-radius:16px;background:var(--navy);color:#cfe1e6;text-align:center}.profile-vip span[data-v-b38c31e3],.profile-vip small[data-v-b38c31e3]{display:block;font-size:12px}.profile-vip strong[data-v-b38c31e3]{display:block;margin:6px 0 4px;color:#fff;font-size:22px}.portal-stats[data-v-b38c31e3]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.portal-stat[data-v-b38c31e3]{position:relative;padding:20px 22px;overflow:hidden}.portal-stat[data-v-b38c31e3]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--teal)}.portal-stat.gold[data-v-b38c31e3]:before{background:var(--amber)}.portal-stat.diamond[data-v-b38c31e3]:before{background:#4b9dc3}.portal-stat.coral[data-v-b38c31e3]:before{background:var(--coral)}.portal-stat span[data-v-b38c31e3]{display:block;color:var(--muted);font-size:13px}.portal-stat strong[data-v-b38c31e3]{display:block;margin:10px 0 4px;color:var(--navy);font-size:28px;line-height:1.2}.portal-stat small[data-v-b38c31e3]{display:block;color:var(--muted);font-size:12px}.portal-stat .portal-primary[data-v-b38c31e3]{margin-top:12px}.list-card[data-v-b38c31e3]{padding:20px 22px 18px}.list-filters[data-v-b38c31e3]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.list-filters input[data-v-b38c31e3]{height:40px;min-width:180px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:13px}.list-filters input[type=date][data-v-b38c31e3]{min-width:150px}.list-filters input[data-v-b38c31e3]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f;background:#fff}.list-filters .portal-ghost[data-v-b38c31e3]{min-height:40px}.list-filters[data-v-b38c31e3] .filter-control>input,.list-filters[data-v-b38c31e3] .date-range{height:40px;border-color:var(--line);border-radius:11px;background:#fbfdfe;font-size:13px}.list-filters[data-v-b38c31e3] .filter-control>input:focus,.list-filters[data-v-b38c31e3] .date-range:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #1e8c861f;background:#fff}.list-filters[data-v-b38c31e3] .date-range>input{font-size:13px}.portal-table-wrap[data-v-b38c31e3]{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.portal-table-wrap table[data-v-b38c31e3]{width:100%;min-width:860px;border-collapse:collapse}.portal-table-wrap th[data-v-b38c31e3],.portal-table-wrap td[data-v-b38c31e3]{padding:14px 16px;border-top:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;font-size:14px}.portal-table-wrap thead th[data-v-b38c31e3]{border-top:0;background:#f7fafb;color:#50616c;font-size:13px;font-weight:700}.portal-table-wrap tbody tr:hover td[data-v-b38c31e3]{background:#f7fbfa}.portal-table-wrap td.num[data-v-b38c31e3]{font-variant-numeric:tabular-nums}.portal-table-wrap td small[data-v-b38c31e3]{display:block;margin-top:3px;color:var(--muted);font-size:12px}.portal-table-wrap .empty[data-v-b38c31e3]{padding:44px 16px;color:var(--muted);text-align:center}.gift-thumb[data-v-b38c31e3]{width:36px;height:36px;object-fit:cover;border-radius:9px;vertical-align:middle}.badge[data-v-b38c31e3]{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:8px;background:#edf3f4;color:#60757d;font-size:12px;font-weight:700}.badge.ok[data-v-b38c31e3]{background:#e6f6ef;color:#2b886e}.badge.pending[data-v-b38c31e3]{background:#fff5e2;color:#a2702e}.badge.bad[data-v-b38c31e3]{background:#fff0ee;color:#b35b57}.badge.info[data-v-b38c31e3]{background:#e9f1fb;color:#3f6fa0}.portal-pagination[data-v-b38c31e3]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;color:var(--muted);font-size:13px}.portal-pagination .pager[data-v-b38c31e3]{display:flex;align-items:center;gap:6px}.portal-pagination button[data-v-b38c31e3]{min-width:34px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:#50616c;font:inherit;font-size:13px;cursor:pointer}.portal-pagination button[data-v-b38c31e3]:hover:not(:disabled):not(.current){border-color:var(--teal);color:var(--teal)}.portal-pagination button.current[data-v-b38c31e3]{border-color:var(--teal);background:var(--teal);color:#fff;font-weight:700}.portal-pagination button[data-v-b38c31e3]:disabled{opacity:.45;cursor:not-allowed}.portal-modal-backdrop[data-v-b38c31e3]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px;background:#173b506b}.portal-modal[data-v-b38c31e3]{position:relative;width:min(640px,100%);max-height:86vh;overflow:auto;padding:24px;border-radius:20px;background:var(--surface);box-shadow:0 24px 60px #173b5040}.portal-modal.narrow[data-v-b38c31e3]{width:min(460px,100%)}.portal-modal>header[data-v-b38c31e3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.portal-modal>header h3[data-v-b38c31e3]{margin:0;color:var(--navy);font-size:19px}.modal-close[data-v-b38c31e3]{width:34px;height:34px;border:0;border-radius:10px;background:#f2f6f7;color:#60727b;font-size:20px;line-height:1;cursor:pointer}.portal-form[data-v-b38c31e3]{display:grid;gap:14px}.portal-form label[data-v-b38c31e3]{display:grid;gap:7px;color:#50616c;font-size:13px;font-weight:600}.portal-form input[data-v-b38c31e3],.portal-form textarea[data-v-b38c31e3]{width:100%;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:14px}.portal-form input[data-v-b38c31e3]{height:44px}.portal-form textarea[data-v-b38c31e3]{min-height:90px;padding:10px 12px;resize:vertical}.portal-form input[data-v-b38c31e3]:focus,.portal-form textarea[data-v-b38c31e3]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f;background:#fff}.portal-form .portal-primary[data-v-b38c31e3]{width:100%;min-height:46px;margin-top:4px}@media (max-width: 1100px){.portal-stats[data-v-b38c31e3]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.portal-app[data-v-b38c31e3]{display:block}.portal-sidebar[data-v-b38c31e3]{position:static;height:auto;padding:14px}.portal-brand[data-v-b38c31e3]{padding-bottom:12px}.portal-sidebar nav[data-v-b38c31e3]{display:flex;overflow-x:auto}.portal-sidebar nav button[data-v-b38c31e3]{white-space:nowrap}.portal-bottom[data-v-b38c31e3]{display:none}.portal-main[data-v-b38c31e3]{padding:20px 14px}.profile-card[data-v-b38c31e3]{flex-wrap:wrap;padding:20px}.profile-vip[data-v-b38c31e3]{width:100%}.portal-stats[data-v-b38c31e3]{grid-template-columns:1fr}}body{margin:0;background:#f2f6f7}.category-compare-list[data-v-6053ee71]{display:grid;gap:10px;margin:6px 0 18px}.category-compare-row[data-v-6053ee71]{display:grid;grid-template-columns:110px minmax(120px,1fr) 92px 42px;align-items:center;gap:10px;color:#55586e;font-size:12px}.category-compare-row .progress-track[data-v-6053ee71]{height:8px;background:#eeeef5;border-radius:99px;overflow:hidden}.category-compare-row .progress-track i[data-v-6053ee71]{display:block;height:100%;border-radius:inherit;background:#7362e6}.category-compare-row b[data-v-6053ee71]{text-align:right;color:#30334b;font-size:12px}.category-compare-row small[data-v-6053ee71]{text-align:right;color:#999caf;font-size:10px}.filters>.search-select[data-v-6053ee71]{width:210px;flex:0 1 210px}.permission-tree label[data-v-c4b4dd96]{flex-direction:row;flex-shrink:0;white-space:nowrap}.permission-tree label input[type=checkbox][data-v-c4b4dd96]{width:16px;height:16px;min-width:16px;min-height:16px;flex:0 0 16px;margin:0;padding:0;border-radius:3px}.permission-tree summary>label[data-v-c4b4dd96]{min-width:160px}.permission-tree .button-row>label[data-v-c4b4dd96]{min-width:140px}.permission-tree .actions[data-v-c4b4dd96]{flex-shrink:0;white-space:nowrap}.permission-tree .route[data-v-c4b4dd96],.permission-tree code[data-v-c4b4dd96]{overflow-wrap:anywhere}.permission-tree[data-v-c4b4dd96]{padding-left:16px}details[data-v-c4b4dd96]{margin:6px 0}summary[data-v-c4b4dd96]{display:flex;align-items:center;gap:14px;padding:13px;background:#f3f6fa;border-radius:8px;cursor:pointer}summary[data-v-c4b4dd96]:before{content:"▸";color:#78899e}details[open]>summary[data-v-c4b4dd96]:before{content:"▾"}label[data-v-c4b4dd96]{display:flex;align-items:center;gap:8px}.route[data-v-c4b4dd96],code[data-v-c4b4dd96]{color:#8292a6;font-size:13px}.actions[data-v-c4b4dd96]{margin-left:auto;display:flex;gap:6px}.button-row[data-v-c4b4dd96]{display:flex;align-items:center;gap:18px;padding:12px 20px 12px 40px;border-bottom:1px solid #edf0f5}.checkbox input[type=checkbox][data-v-d95f2b70]{width:16px;height:16px;min-width:16px;min-height:16px;flex:0 0 16px;margin:0;padding:0}.tree-panel[data-v-d95f2b70]{padding:8px 16px 8px 0}h3[data-v-d95f2b70],h4[data-v-d95f2b70]{margin:0}.error[data-v-d95f2b70]{color:#b93c40}.notice[data-v-d95f2b70]{color:#2c8067}.ui-dialog-backdrop[data-v-d95f2b70]{z-index:100}.modal input[data-v-d95f2b70],.modal select[data-v-d95f2b70],.modal textarea[data-v-d95f2b70]{height:var(--ui-control-height);min-height:var(--ui-control-height);margin:0;padding:0 11px;border:1px solid var(--ui-border);border-radius:var(--ui-control-radius);background:#fff;color:var(--ui-text);font:inherit;font-size:var(--ui-control-font)}.modal input[data-v-d95f2b70]:disabled,.modal select[data-v-d95f2b70]:disabled{background:#f6f7fa;color:#777}fieldset[data-v-d95f2b70]{border:0;padding:0;margin:0;min-width:0}.modal label[data-v-d95f2b70]{display:flex;flex-direction:column;gap:7px;color:var(--ui-text);font-size:var(--ui-control-font)}.modal .checkbox[data-v-d95f2b70]{flex-direction:row;align-items:center}.wide[data-v-d95f2b70]{grid-column:1 / -1}.points-modal[data-v-d95f2b70]{width:min(640px,calc(100vw - 40px))}.kook-card[data-v-d95f2b70]{display:flex;align-items:center;gap:24px}.kook-card img[data-v-d95f2b70]{width:70px;height:70px;object-fit:cover;border-radius:16px}dl[data-v-d95f2b70]{display:grid;grid-template-columns:80px 1fr;gap:12px;font-size:13px}dt[data-v-d95f2b70]{color:#8392a5}dd[data-v-d95f2b70]{margin:0}.kook-config[data-v-7bf6bcb9]{display:grid;gap:16px}.kook-status[data-v-7bf6bcb9]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:16px 20px}.kook-status div[data-v-7bf6bcb9]{display:flex;flex-direction:column;gap:4px;min-width:0}.kook-status span[data-v-7bf6bcb9]{color:#8392a5;font-size:12px}.kook-status b[data-v-7bf6bcb9]{overflow-wrap:anywhere;font-size:14px}.kook-error[data-v-7bf6bcb9]{grid-column:1 / -1;margin:0;color:var(--ui-danger, #b93c40);font-size:12px}.kook-section[data-v-7bf6bcb9]{display:grid;gap:16px}.panel.kook-section[data-v-7bf6bcb9],.kook-template[data-v-7bf6bcb9],.kook-help[data-v-7bf6bcb9]{padding:20px}.kook-section h4[data-v-7bf6bcb9]{margin:0 0 4px;font-size:15px}.kook-fields[data-v-7bf6bcb9]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-bottom:8px}.kook-fields label[data-v-7bf6bcb9]{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px}.kook-fields label.wide[data-v-7bf6bcb9]{grid-column:1 / -1}.kook-fields input[data-v-7bf6bcb9],.kook-fields select[data-v-7bf6bcb9],.kook-fields textarea[data-v-7bf6bcb9],.kook-random-row input[data-v-7bf6bcb9]{padding:8px 11px;border:1px solid var(--ui-border, #dfe3ea);border-radius:8px;background:#fff;color:inherit;font:inherit;font-size:13px}.kook-fields textarea[data-v-7bf6bcb9]{font-family:ui-monospace,Consolas,monospace;line-height:1.6;resize:vertical}.kook-fields input[data-v-7bf6bcb9]:disabled,.kook-fields select[data-v-7bf6bcb9]:disabled,.kook-fields textarea[data-v-7bf6bcb9]:disabled{background:#f6f7fa}.kook-fields small[data-v-7bf6bcb9]{color:#8392a5;font-size:12px}.kook-section footer[data-v-7bf6bcb9],.kook-template footer[data-v-7bf6bcb9]{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.kook-template header[data-v-7bf6bcb9]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.kook-template header b[data-v-7bf6bcb9]{display:block;font-size:15px}.kook-template header small[data-v-7bf6bcb9]{color:#8392a5;font-size:12px}.kook-switch[data-v-7bf6bcb9]{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.kook-placeholders[data-v-7bf6bcb9]{width:100%;min-width:0;border-collapse:collapse;font-size:12px}.kook-placeholders th[data-v-7bf6bcb9],.kook-placeholders td[data-v-7bf6bcb9]{padding:6px 10px;border-top:1px solid #eef0f4;text-align:left}.kook-placeholders th[data-v-7bf6bcb9]{color:#8392a5;font-weight:500}.kook-placeholders td[data-v-7bf6bcb9]:first-child{width:160px}.kook-help p[data-v-7bf6bcb9]{margin:0 0 8px;font-size:13px;line-height:1.7}.kook-help p[data-v-7bf6bcb9]:last-child{margin-bottom:0}code[data-v-7bf6bcb9]{padding:1px 5px;border-radius:4px;background:#f2f3f8;font-family:ui-monospace,Consolas,monospace;font-size:12px}.kook-random-row[data-v-7bf6bcb9]{display:flex;align-items:center;gap:10px;margin-top:10px}.kook-random-row input[data-v-7bf6bcb9]:first-child{flex:1}.kook-random-row .kook-sort[data-v-7bf6bcb9]{width:80px}@media (max-width: 900px){.kook-status[data-v-7bf6bcb9],.kook-fields[data-v-7bf6bcb9]{grid-template-columns:1fr}}.points-modal[data-v-96a556a9]{width:min(640px,calc(100vw - 40px))}.points-modal label[data-v-96a556a9]{display:flex;flex-direction:column;gap:7px;font-size:var(--ui-control-font)}.points-modal input[data-v-96a556a9],.points-modal select[data-v-96a556a9]{height:var(--ui-control-height);padding:0 11px;border:1px solid var(--ui-border);border-radius:var(--ui-control-radius);background:#fff;color:var(--ui-text);font:inherit;font-size:var(--ui-control-font)}.lookup[data-v-96a556a9]{display:flex;align-items:flex-end;padding-bottom:10px;color:#2c8067;font-size:13px}.lookup.missing[data-v-96a556a9],.error[data-v-96a556a9]{color:#b93c40}.portal-shell[data-v-0df78476]{--ink: #1d2a35;--muted: #7c8a94;--line: #e4ebee;--canvas: #f2f6f7;--surface: #fff;--navy: #173b50;--teal: #1e8c86;--teal-dark: #177770;--teal-soft: #e5f4f1;--coral: #ef876b;--amber: #dda54f;--danger: #d86161;--shadow: 0 14px 34px rgba(32, 61, 72, .08);--ui-text: var(--ink);--ui-border: var(--line);--ui-link: var(--teal);--ui-primary: var(--teal);--ui-primary-hover: var(--teal-dark);--ui-control-height: 40px;--ui-control-font: 14px;min-height:100vh;background:var(--canvas);color:var(--ink);font-family:DM Sans,Noto Sans SC,system-ui,sans-serif}.portal-loading[data-v-0df78476]{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.portal-login[data-v-0df78476]{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-login-card[data-v-0df78476]{width:min(400px,100%);padding:40px 32px 32px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.portal-login-mark[data-v-0df78476]{width:64px;height:64px;margin:0 auto 18px;display:grid;place-items:center;border-radius:20px;background:var(--navy);color:#fff;font-size:26px;font-weight:800}.portal-login h1[data-v-0df78476]{margin:0 0 26px;color:var(--navy);font-size:24px}.portal-login .portal-primary[data-v-0df78476]{width:100%}.portal-link[data-v-0df78476]{display:inline-block;margin-top:18px;color:var(--teal);font-size:13px;text-decoration:none}.portal-primary[data-v-0df78476],.portal-secondary[data-v-0df78476],.portal-ghost[data-v-0df78476]{min-height:40px;padding:0 18px;border:0;border-radius:12px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.portal-primary[data-v-0df78476]{background:var(--teal);color:#fff;box-shadow:0 8px 18px #1e8c8633}.portal-primary[data-v-0df78476]:hover:not(:disabled){background:var(--teal-dark)}.portal-secondary[data-v-0df78476]{background:var(--teal-soft);color:var(--teal)}.portal-ghost[data-v-0df78476]{border:1px solid var(--line);background:var(--surface);color:#50616c}.portal-primary[data-v-0df78476]:disabled,.portal-secondary[data-v-0df78476]:disabled{opacity:.5;cursor:not-allowed}.portal-primary.compact[data-v-0df78476],.portal-secondary.compact[data-v-0df78476]{min-height:34px;padding:0 14px;font-size:13px}.table-link[data-v-0df78476]{padding:0 6px;border:0;background:none;color:var(--teal);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.table-link[data-v-0df78476]:hover{text-decoration:underline}.portal-error[data-v-0df78476]{margin:14px 0 0;color:var(--danger);font-size:13px}.portal-error.inline[data-v-0df78476]{margin:0 0 16px;padding:10px 14px;border-radius:12px;background:#fff0ee}.portal-app[data-v-0df78476]{display:flex;min-height:100vh}.portal-sidebar[data-v-0df78476]{position:sticky;top:0;flex:0 0 232px;height:100vh;display:flex;flex-direction:column;padding:26px 16px 20px;background:var(--navy);color:#cfe1e6}.portal-brand[data-v-0df78476]{display:flex;align-items:center;gap:12px;padding:0 10px 30px}.portal-brand>span[data-v-0df78476]{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--coral);color:#fff;font-size:18px;font-weight:800}.portal-brand b[data-v-0df78476]{color:#fff;font-size:17px}.portal-sidebar nav[data-v-0df78476]{display:grid;gap:4px}.portal-sidebar nav button[data-v-0df78476]{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border:0;border-radius:12px;background:transparent;color:#b9cfd6;font:inherit;font-size:15px;text-align:left;cursor:pointer}.portal-sidebar nav button span[data-v-0df78476]{width:18px;color:#7fb7b3;text-align:center}.portal-sidebar nav button[data-v-0df78476]:hover{background:#ffffff12;color:#fff}.portal-sidebar nav button.active[data-v-0df78476]{background:var(--teal);color:#fff;font-weight:700}.portal-sidebar nav button.active span[data-v-0df78476]{color:#fff}.portal-bottom[data-v-0df78476]{margin-top:auto;display:grid;gap:8px}.portal-bottom button[data-v-0df78476]{min-height:42px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:transparent;color:#cfe1e6;font:inherit;font-size:14px;cursor:pointer}.portal-bottom button[data-v-0df78476]:hover{background:#ffffff14;color:#fff}.portal-main[data-v-0df78476]{flex:1;min-width:0;padding:28px 36px 40px}.portal-topbar[data-v-0df78476]{display:flex;align-items:center;min-height:44px;margin-bottom:22px}.portal-topbar h2[data-v-0df78476]{margin:0;color:var(--navy);font-size:24px}.portal-content[data-v-0df78476]{width:100%}.portal-content.empty[data-v-0df78476]{padding:60px 0;color:var(--muted);text-align:center}.portal-card[data-v-0df78476]{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.profile-card[data-v-0df78476]{display:flex;align-items:center;gap:22px;padding:26px 28px}.profile-avatar[data-v-0df78476]{width:84px;height:84px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:24px;background:var(--teal-soft);color:var(--teal);font-size:32px;font-weight:800}.profile-avatar img[data-v-0df78476]{width:100%;height:100%;object-fit:cover}.profile-copy[data-v-0df78476]{flex:1;min-width:0}.profile-copy h1[data-v-0df78476]{margin:0 0 6px;color:var(--navy);font-size:26px}.profile-meta[data-v-0df78476]{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:13px}.birthday-inline[data-v-0df78476]{display:flex;align-items:center;gap:8px;margin-top:14px;color:#50616c;font-size:13px}.birthday-inline input[data-v-0df78476]{width:100px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:13px}.birthday-inline input[data-v-0df78476]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f}.profile-vip[data-v-0df78476]{flex:none;min-width:150px;padding:16px 20px;border-radius:16px;background:var(--navy);color:#cfe1e6;text-align:center}.profile-vip span[data-v-0df78476],.profile-vip small[data-v-0df78476]{display:block;font-size:12px}.profile-vip strong[data-v-0df78476]{display:block;margin:6px 0 4px;color:#fff;font-size:22px}.portal-stats[data-v-0df78476]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.portal-stat[data-v-0df78476]{position:relative;padding:20px 22px;overflow:hidden}.portal-stat[data-v-0df78476]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--teal)}.portal-stat.gold[data-v-0df78476]:before{background:var(--amber)}.portal-stat.diamond[data-v-0df78476]:before{background:#4b9dc3}.portal-stat.coral[data-v-0df78476]:before{background:var(--coral)}.portal-stat span[data-v-0df78476]{display:block;color:var(--muted);font-size:13px}.portal-stat strong[data-v-0df78476]{display:block;margin:10px 0 4px;color:var(--navy);font-size:28px;line-height:1.2}.portal-stat small[data-v-0df78476]{display:block;color:var(--muted);font-size:12px}.portal-stat .portal-primary[data-v-0df78476]{margin-top:12px}.list-card[data-v-0df78476]{padding:20px 22px 18px}.list-filters[data-v-0df78476]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.list-filters input[data-v-0df78476]{height:40px;min-width:180px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:13px}.list-filters input[type=date][data-v-0df78476]{min-width:150px}.list-filters input[data-v-0df78476]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f;background:#fff}.list-filters .portal-ghost[data-v-0df78476]{min-height:40px}.list-filters[data-v-0df78476] .filter-control>input,.list-filters[data-v-0df78476] .date-range{height:40px;border-color:var(--line);border-radius:11px;background:#fbfdfe;font-size:13px}.list-filters[data-v-0df78476] .filter-control>input:focus,.list-filters[data-v-0df78476] .date-range:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #1e8c861f;background:#fff}.list-filters[data-v-0df78476] .date-range>input{font-size:13px}.portal-table-wrap[data-v-0df78476]{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.portal-table-wrap table[data-v-0df78476]{width:100%;min-width:860px;border-collapse:collapse}.portal-table-wrap th[data-v-0df78476],.portal-table-wrap td[data-v-0df78476]{padding:14px 16px;border-top:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;font-size:14px}.portal-table-wrap thead th[data-v-0df78476]{border-top:0;background:#f7fafb;color:#50616c;font-size:13px;font-weight:700}.portal-table-wrap tbody tr:hover td[data-v-0df78476]{background:#f7fbfa}.portal-table-wrap td.num[data-v-0df78476]{font-variant-numeric:tabular-nums}.portal-table-wrap td small[data-v-0df78476]{display:block;margin-top:3px;color:var(--muted);font-size:12px}.portal-table-wrap .empty[data-v-0df78476]{padding:44px 16px;color:var(--muted);text-align:center}.gift-thumb[data-v-0df78476]{width:36px;height:36px;object-fit:cover;border-radius:9px;vertical-align:middle}.badge[data-v-0df78476]{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:8px;background:#edf3f4;color:#60757d;font-size:12px;font-weight:700}.badge.ok[data-v-0df78476]{background:#e6f6ef;color:#2b886e}.badge.pending[data-v-0df78476]{background:#fff5e2;color:#a2702e}.badge.bad[data-v-0df78476]{background:#fff0ee;color:#b35b57}.badge.info[data-v-0df78476]{background:#e9f1fb;color:#3f6fa0}.portal-pagination[data-v-0df78476]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;color:var(--muted);font-size:13px}.portal-pagination .pager[data-v-0df78476]{display:flex;align-items:center;gap:6px}.portal-pagination button[data-v-0df78476]{min-width:34px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:#50616c;font:inherit;font-size:13px;cursor:pointer}.portal-pagination button[data-v-0df78476]:hover:not(:disabled):not(.current){border-color:var(--teal);color:var(--teal)}.portal-pagination button.current[data-v-0df78476]{border-color:var(--teal);background:var(--teal);color:#fff;font-weight:700}.portal-pagination button[data-v-0df78476]:disabled{opacity:.45;cursor:not-allowed}.portal-modal-backdrop[data-v-0df78476]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px;background:#173b506b}.portal-modal[data-v-0df78476]{position:relative;width:min(640px,100%);max-height:86vh;overflow:auto;padding:24px;border-radius:20px;background:var(--surface);box-shadow:0 24px 60px #173b5040}.portal-modal.narrow[data-v-0df78476]{width:min(460px,100%)}.portal-modal>header[data-v-0df78476]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.portal-modal>header h3[data-v-0df78476]{margin:0;color:var(--navy);font-size:19px}.modal-close[data-v-0df78476]{width:34px;height:34px;border:0;border-radius:10px;background:#f2f6f7;color:#60727b;font-size:20px;line-height:1;cursor:pointer}.portal-form[data-v-0df78476]{display:grid;gap:14px}.portal-form label[data-v-0df78476]{display:grid;gap:7px;color:#50616c;font-size:13px;font-weight:600}.portal-form input[data-v-0df78476],.portal-form textarea[data-v-0df78476]{width:100%;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:14px}.portal-form input[data-v-0df78476]{height:44px}.portal-form textarea[data-v-0df78476]{min-height:90px;padding:10px 12px;resize:vertical}.portal-form input[data-v-0df78476]:focus,.portal-form textarea[data-v-0df78476]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f;background:#fff}.portal-form .portal-primary[data-v-0df78476]{width:100%;min-height:46px;margin-top:4px}@media (max-width: 1100px){.portal-stats[data-v-0df78476]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.portal-app[data-v-0df78476]{display:block}.portal-sidebar[data-v-0df78476]{position:static;height:auto;padding:14px}.portal-brand[data-v-0df78476]{padding-bottom:12px}.portal-sidebar nav[data-v-0df78476]{display:flex;overflow-x:auto}.portal-sidebar nav button[data-v-0df78476]{white-space:nowrap}.portal-bottom[data-v-0df78476]{display:none}.portal-main[data-v-0df78476]{padding:20px 14px}.profile-card[data-v-0df78476]{flex-wrap:wrap;padding:20px}.profile-vip[data-v-0df78476]{width:100%}.portal-stats[data-v-0df78476]{grid-template-columns:1fr}}.portal-shell[data-v-a71c5166]{--ink: #1d2a35;--muted: #7c8a94;--line: #e4ebee;--canvas: #f2f6f7;--surface: #fff;--navy: #173b50;--teal: #1e8c86;--teal-dark: #177770;--teal-soft: #e5f4f1;--coral: #ef876b;--amber: #dda54f;--danger: #d86161;--shadow: 0 14px 34px rgba(32, 61, 72, .08);--ui-text: var(--ink);--ui-border: var(--line);--ui-link: var(--teal);--ui-primary: var(--teal);--ui-primary-hover: var(--teal-dark);--ui-control-height: 40px;--ui-control-font: 14px;min-height:100vh;background:var(--canvas);color:var(--ink);font-family:DM Sans,Noto Sans SC,system-ui,sans-serif}.portal-loading[data-v-a71c5166]{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.portal-login[data-v-a71c5166]{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-login-card[data-v-a71c5166]{width:min(400px,100%);padding:40px 32px 32px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.portal-login-mark[data-v-a71c5166]{width:64px;height:64px;margin:0 auto 18px;display:grid;place-items:center;border-radius:20px;background:var(--navy);color:#fff;font-size:26px;font-weight:800}.portal-login h1[data-v-a71c5166]{margin:0 0 26px;color:var(--navy);font-size:24px}.portal-login .portal-primary[data-v-a71c5166]{width:100%}.portal-link[data-v-a71c5166]{display:inline-block;margin-top:18px;color:var(--teal);font-size:13px;text-decoration:none}.portal-primary[data-v-a71c5166],.portal-secondary[data-v-a71c5166],.portal-ghost[data-v-a71c5166]{min-height:40px;padding:0 18px;border:0;border-radius:12px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.portal-primary[data-v-a71c5166]{background:var(--teal);color:#fff;box-shadow:0 8px 18px #1e8c8633}.portal-primary[data-v-a71c5166]:hover:not(:disabled){background:var(--teal-dark)}.portal-secondary[data-v-a71c5166]{background:var(--teal-soft);color:var(--teal)}.portal-ghost[data-v-a71c5166]{border:1px solid var(--line);background:var(--surface);color:#50616c}.portal-primary[data-v-a71c5166]:disabled,.portal-secondary[data-v-a71c5166]:disabled{opacity:.5;cursor:not-allowed}.portal-primary.compact[data-v-a71c5166],.portal-secondary.compact[data-v-a71c5166]{min-height:34px;padding:0 14px;font-size:13px}.table-link[data-v-a71c5166]{padding:0 6px;border:0;background:none;color:var(--teal);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.table-link[data-v-a71c5166]:hover{text-decoration:underline}.portal-error[data-v-a71c5166]{margin:14px 0 0;color:var(--danger);font-size:13px}.portal-error.inline[data-v-a71c5166]{margin:0 0 16px;padding:10px 14px;border-radius:12px;background:#fff0ee}.portal-app[data-v-a71c5166]{display:flex;min-height:100vh}.portal-sidebar[data-v-a71c5166]{position:sticky;top:0;flex:0 0 232px;height:100vh;display:flex;flex-direction:column;padding:26px 16px 20px;background:var(--navy);color:#cfe1e6}.portal-brand[data-v-a71c5166]{display:flex;align-items:center;gap:12px;padding:0 10px 30px}.portal-brand>span[data-v-a71c5166]{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--coral);color:#fff;font-size:18px;font-weight:800}.portal-brand b[data-v-a71c5166]{color:#fff;font-size:17px}.portal-sidebar nav[data-v-a71c5166]{display:grid;gap:4px}.portal-sidebar nav button[data-v-a71c5166]{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border:0;border-radius:12px;background:transparent;color:#b9cfd6;font:inherit;font-size:15px;text-align:left;cursor:pointer}.portal-sidebar nav button span[data-v-a71c5166]{width:18px;color:#7fb7b3;text-align:center}.portal-sidebar nav button[data-v-a71c5166]:hover{background:#ffffff12;color:#fff}.portal-sidebar nav button.active[data-v-a71c5166]{background:var(--teal);color:#fff;font-weight:700}.portal-sidebar nav button.active span[data-v-a71c5166]{color:#fff}.portal-bottom[data-v-a71c5166]{margin-top:auto;display:grid;gap:8px}.portal-bottom button[data-v-a71c5166]{min-height:42px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:transparent;color:#cfe1e6;font:inherit;font-size:14px;cursor:pointer}.portal-bottom button[data-v-a71c5166]:hover{background:#ffffff14;color:#fff}.portal-main[data-v-a71c5166]{flex:1;min-width:0;padding:28px 36px 40px}.portal-topbar[data-v-a71c5166]{display:flex;align-items:center;min-height:44px;margin-bottom:22px}.portal-topbar h2[data-v-a71c5166]{margin:0;color:var(--navy);font-size:24px}.portal-content[data-v-a71c5166]{width:100%}.portal-content.empty[data-v-a71c5166]{padding:60px 0;color:var(--muted);text-align:center}.portal-card[data-v-a71c5166]{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.profile-card[data-v-a71c5166]{display:flex;align-items:center;gap:22px;padding:26px 28px}.profile-avatar[data-v-a71c5166]{width:84px;height:84px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:24px;background:var(--teal-soft);color:var(--teal);font-size:32px;font-weight:800}.profile-avatar img[data-v-a71c5166]{width:100%;height:100%;object-fit:cover}.profile-copy[data-v-a71c5166]{flex:1;min-width:0}.profile-copy h1[data-v-a71c5166]{margin:0 0 6px;color:var(--navy);font-size:26px}.profile-meta[data-v-a71c5166]{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:13px}.birthday-inline[data-v-a71c5166]{display:flex;align-items:center;gap:8px;margin-top:14px;color:#50616c;font-size:13px}.birthday-inline input[data-v-a71c5166]{width:100px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:13px}.birthday-inline input[data-v-a71c5166]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f}.profile-vip[data-v-a71c5166]{flex:none;min-width:150px;padding:16px 20px;border-radius:16px;background:var(--navy);color:#cfe1e6;text-align:center}.profile-vip span[data-v-a71c5166],.profile-vip small[data-v-a71c5166]{display:block;font-size:12px}.profile-vip strong[data-v-a71c5166]{display:block;margin:6px 0 4px;color:#fff;font-size:22px}.portal-stats[data-v-a71c5166]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.portal-stat[data-v-a71c5166]{position:relative;padding:20px 22px;overflow:hidden}.portal-stat[data-v-a71c5166]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--teal)}.portal-stat.gold[data-v-a71c5166]:before{background:var(--amber)}.portal-stat.diamond[data-v-a71c5166]:before{background:#4b9dc3}.portal-stat.coral[data-v-a71c5166]:before{background:var(--coral)}.portal-stat span[data-v-a71c5166]{display:block;color:var(--muted);font-size:13px}.portal-stat strong[data-v-a71c5166]{display:block;margin:10px 0 4px;color:var(--navy);font-size:28px;line-height:1.2}.portal-stat small[data-v-a71c5166]{display:block;color:var(--muted);font-size:12px}.portal-stat .portal-primary[data-v-a71c5166]{margin-top:12px}.list-card[data-v-a71c5166]{padding:20px 22px 18px}.list-filters[data-v-a71c5166]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.list-filters input[data-v-a71c5166]{height:40px;min-width:180px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:13px}.list-filters input[type=date][data-v-a71c5166]{min-width:150px}.list-filters input[data-v-a71c5166]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f;background:#fff}.list-filters .portal-ghost[data-v-a71c5166]{min-height:40px}.list-filters[data-v-a71c5166] .filter-control>input,.list-filters[data-v-a71c5166] .date-range{height:40px;border-color:var(--line);border-radius:11px;background:#fbfdfe;font-size:13px}.list-filters[data-v-a71c5166] .filter-control>input:focus,.list-filters[data-v-a71c5166] .date-range:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #1e8c861f;background:#fff}.list-filters[data-v-a71c5166] .date-range>input{font-size:13px}.portal-table-wrap[data-v-a71c5166]{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.portal-table-wrap table[data-v-a71c5166]{width:100%;min-width:860px;border-collapse:collapse}.portal-table-wrap th[data-v-a71c5166],.portal-table-wrap td[data-v-a71c5166]{padding:14px 16px;border-top:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;font-size:14px}.portal-table-wrap thead th[data-v-a71c5166]{border-top:0;background:#f7fafb;color:#50616c;font-size:13px;font-weight:700}.portal-table-wrap tbody tr:hover td[data-v-a71c5166]{background:#f7fbfa}.portal-table-wrap td.num[data-v-a71c5166]{font-variant-numeric:tabular-nums}.portal-table-wrap td small[data-v-a71c5166]{display:block;margin-top:3px;color:var(--muted);font-size:12px}.portal-table-wrap .empty[data-v-a71c5166]{padding:44px 16px;color:var(--muted);text-align:center}.gift-thumb[data-v-a71c5166]{width:36px;height:36px;object-fit:cover;border-radius:9px;vertical-align:middle}.badge[data-v-a71c5166]{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:8px;background:#edf3f4;color:#60757d;font-size:12px;font-weight:700}.badge.ok[data-v-a71c5166]{background:#e6f6ef;color:#2b886e}.badge.pending[data-v-a71c5166]{background:#fff5e2;color:#a2702e}.badge.bad[data-v-a71c5166]{background:#fff0ee;color:#b35b57}.badge.info[data-v-a71c5166]{background:#e9f1fb;color:#3f6fa0}.portal-pagination[data-v-a71c5166]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;color:var(--muted);font-size:13px}.portal-pagination .pager[data-v-a71c5166]{display:flex;align-items:center;gap:6px}.portal-pagination button[data-v-a71c5166]{min-width:34px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:#50616c;font:inherit;font-size:13px;cursor:pointer}.portal-pagination button[data-v-a71c5166]:hover:not(:disabled):not(.current){border-color:var(--teal);color:var(--teal)}.portal-pagination button.current[data-v-a71c5166]{border-color:var(--teal);background:var(--teal);color:#fff;font-weight:700}.portal-pagination button[data-v-a71c5166]:disabled{opacity:.45;cursor:not-allowed}.portal-modal-backdrop[data-v-a71c5166]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px;background:#173b506b}.portal-modal[data-v-a71c5166]{position:relative;width:min(640px,100%);max-height:86vh;overflow:auto;padding:24px;border-radius:20px;background:var(--surface);box-shadow:0 24px 60px #173b5040}.portal-modal.narrow[data-v-a71c5166]{width:min(460px,100%)}.portal-modal>header[data-v-a71c5166]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.portal-modal>header h3[data-v-a71c5166]{margin:0;color:var(--navy);font-size:19px}.modal-close[data-v-a71c5166]{width:34px;height:34px;border:0;border-radius:10px;background:#f2f6f7;color:#60727b;font-size:20px;line-height:1;cursor:pointer}.portal-form[data-v-a71c5166]{display:grid;gap:14px}.portal-form label[data-v-a71c5166]{display:grid;gap:7px;color:#50616c;font-size:13px;font-weight:600}.portal-form input[data-v-a71c5166],.portal-form textarea[data-v-a71c5166]{width:100%;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:14px}.portal-form input[data-v-a71c5166]{height:44px}.portal-form textarea[data-v-a71c5166]{min-height:90px;padding:10px 12px;resize:vertical}.portal-form input[data-v-a71c5166]:focus,.portal-form textarea[data-v-a71c5166]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f;background:#fff}.portal-form .portal-primary[data-v-a71c5166]{width:100%;min-height:46px;margin-top:4px}@media (max-width: 1100px){.portal-stats[data-v-a71c5166]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.portal-app[data-v-a71c5166]{display:block}.portal-sidebar[data-v-a71c5166]{position:static;height:auto;padding:14px}.portal-brand[data-v-a71c5166]{padding-bottom:12px}.portal-sidebar nav[data-v-a71c5166]{display:flex;overflow-x:auto}.portal-sidebar nav button[data-v-a71c5166]{white-space:nowrap}.portal-bottom[data-v-a71c5166]{display:none}.portal-main[data-v-a71c5166]{padding:20px 14px}.profile-card[data-v-a71c5166]{flex-wrap:wrap;padding:20px}.profile-vip[data-v-a71c5166]{width:100%}.portal-stats[data-v-a71c5166]{grid-template-columns:1fr}}.portal-shell[data-v-66025a70]{--ink: #1d2a35;--muted: #7c8a94;--line: #e4ebee;--canvas: #f2f6f7;--surface: #fff;--navy: #173b50;--teal: #1e8c86;--teal-dark: #177770;--teal-soft: #e5f4f1;--coral: #ef876b;--amber: #dda54f;--danger: #d86161;--shadow: 0 14px 34px rgba(32, 61, 72, .08);--ui-text: var(--ink);--ui-border: var(--line);--ui-link: var(--teal);--ui-primary: var(--teal);--ui-primary-hover: var(--teal-dark);--ui-control-height: 40px;--ui-control-font: 14px;min-height:100vh;background:var(--canvas);color:var(--ink);font-family:DM Sans,Noto Sans SC,system-ui,sans-serif}.portal-loading[data-v-66025a70]{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.portal-login[data-v-66025a70]{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-login-card[data-v-66025a70]{width:min(400px,100%);padding:40px 32px 32px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.portal-login-mark[data-v-66025a70]{width:64px;height:64px;margin:0 auto 18px;display:grid;place-items:center;border-radius:20px;background:var(--navy);color:#fff;font-size:26px;font-weight:800}.portal-login h1[data-v-66025a70]{margin:0 0 26px;color:var(--navy);font-size:24px}.portal-login .portal-primary[data-v-66025a70]{width:100%}.portal-link[data-v-66025a70]{display:inline-block;margin-top:18px;color:var(--teal);font-size:13px;text-decoration:none}.portal-primary[data-v-66025a70],.portal-secondary[data-v-66025a70],.portal-ghost[data-v-66025a70]{min-height:40px;padding:0 18px;border:0;border-radius:12px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.portal-primary[data-v-66025a70]{background:var(--teal);color:#fff;box-shadow:0 8px 18px #1e8c8633}.portal-primary[data-v-66025a70]:hover:not(:disabled){background:var(--teal-dark)}.portal-secondary[data-v-66025a70]{background:var(--teal-soft);color:var(--teal)}.portal-ghost[data-v-66025a70]{border:1px solid var(--line);background:var(--surface);color:#50616c}.portal-primary[data-v-66025a70]:disabled,.portal-secondary[data-v-66025a70]:disabled{opacity:.5;cursor:not-allowed}.portal-primary.compact[data-v-66025a70],.portal-secondary.compact[data-v-66025a70]{min-height:34px;padding:0 14px;font-size:13px}.table-link[data-v-66025a70]{padding:0 6px;border:0;background:none;color:var(--teal);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.table-link[data-v-66025a70]:hover{text-decoration:underline}.portal-error[data-v-66025a70]{margin:14px 0 0;color:var(--danger);font-size:13px}.portal-error.inline[data-v-66025a70]{margin:0 0 16px;padding:10px 14px;border-radius:12px;background:#fff0ee}.portal-app[data-v-66025a70]{display:flex;min-height:100vh}.portal-sidebar[data-v-66025a70]{position:sticky;top:0;flex:0 0 232px;height:100vh;display:flex;flex-direction:column;padding:26px 16px 20px;background:var(--navy);color:#cfe1e6}.portal-brand[data-v-66025a70]{display:flex;align-items:center;gap:12px;padding:0 10px 30px}.portal-brand>span[data-v-66025a70]{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--coral);color:#fff;font-size:18px;font-weight:800}.portal-brand b[data-v-66025a70]{color:#fff;font-size:17px}.portal-sidebar nav[data-v-66025a70]{display:grid;gap:4px}.portal-sidebar nav button[data-v-66025a70]{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border:0;border-radius:12px;background:transparent;color:#b9cfd6;font:inherit;font-size:15px;text-align:left;cursor:pointer}.portal-sidebar nav button span[data-v-66025a70]{width:18px;color:#7fb7b3;text-align:center}.portal-sidebar nav button[data-v-66025a70]:hover{background:#ffffff12;color:#fff}.portal-sidebar nav button.active[data-v-66025a70]{background:var(--teal);color:#fff;font-weight:700}.portal-sidebar nav button.active span[data-v-66025a70]{color:#fff}.portal-bottom[data-v-66025a70]{margin-top:auto;display:grid;gap:8px}.portal-bottom button[data-v-66025a70]{min-height:42px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:transparent;color:#cfe1e6;font:inherit;font-size:14px;cursor:pointer}.portal-bottom button[data-v-66025a70]:hover{background:#ffffff14;color:#fff}.portal-main[data-v-66025a70]{flex:1;min-width:0;padding:28px 36px 40px}.portal-topbar[data-v-66025a70]{display:flex;align-items:center;min-height:44px;margin-bottom:22px}.portal-topbar h2[data-v-66025a70]{margin:0;color:var(--navy);font-size:24px}.portal-content[data-v-66025a70]{width:100%}.portal-content.empty[data-v-66025a70]{padding:60px 0;color:var(--muted);text-align:center}.portal-card[data-v-66025a70]{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.profile-card[data-v-66025a70]{display:flex;align-items:center;gap:22px;padding:26px 28px}.profile-avatar[data-v-66025a70]{width:84px;height:84px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:24px;background:var(--teal-soft);color:var(--teal);font-size:32px;font-weight:800}.profile-avatar img[data-v-66025a70]{width:100%;height:100%;object-fit:cover}.profile-copy[data-v-66025a70]{flex:1;min-width:0}.profile-copy h1[data-v-66025a70]{margin:0 0 6px;color:var(--navy);font-size:26px}.profile-meta[data-v-66025a70]{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:13px}.birthday-inline[data-v-66025a70]{display:flex;align-items:center;gap:8px;margin-top:14px;color:#50616c;font-size:13px}.birthday-inline input[data-v-66025a70]{width:100px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:13px}.birthday-inline input[data-v-66025a70]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f}.profile-vip[data-v-66025a70]{flex:none;min-width:150px;padding:16px 20px;border-radius:16px;background:var(--navy);color:#cfe1e6;text-align:center}.profile-vip span[data-v-66025a70],.profile-vip small[data-v-66025a70]{display:block;font-size:12px}.profile-vip strong[data-v-66025a70]{display:block;margin:6px 0 4px;color:#fff;font-size:22px}.portal-stats[data-v-66025a70]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.portal-stat[data-v-66025a70]{position:relative;padding:20px 22px;overflow:hidden}.portal-stat[data-v-66025a70]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--teal)}.portal-stat.gold[data-v-66025a70]:before{background:var(--amber)}.portal-stat.diamond[data-v-66025a70]:before{background:#4b9dc3}.portal-stat.coral[data-v-66025a70]:before{background:var(--coral)}.portal-stat span[data-v-66025a70]{display:block;color:var(--muted);font-size:13px}.portal-stat strong[data-v-66025a70]{display:block;margin:10px 0 4px;color:var(--navy);font-size:28px;line-height:1.2}.portal-stat small[data-v-66025a70]{display:block;color:var(--muted);font-size:12px}.portal-stat .portal-primary[data-v-66025a70]{margin-top:12px}.list-card[data-v-66025a70]{padding:20px 22px 18px}.list-filters[data-v-66025a70]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.list-filters input[data-v-66025a70]{height:40px;min-width:180px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:13px}.list-filters input[type=date][data-v-66025a70]{min-width:150px}.list-filters input[data-v-66025a70]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f;background:#fff}.list-filters .portal-ghost[data-v-66025a70]{min-height:40px}.list-filters[data-v-66025a70] .filter-control>input,.list-filters[data-v-66025a70] .date-range{height:40px;border-color:var(--line);border-radius:11px;background:#fbfdfe;font-size:13px}.list-filters[data-v-66025a70] .filter-control>input:focus,.list-filters[data-v-66025a70] .date-range:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #1e8c861f;background:#fff}.list-filters[data-v-66025a70] .date-range>input{font-size:13px}.portal-table-wrap[data-v-66025a70]{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.portal-table-wrap table[data-v-66025a70]{width:100%;min-width:860px;border-collapse:collapse}.portal-table-wrap th[data-v-66025a70],.portal-table-wrap td[data-v-66025a70]{padding:14px 16px;border-top:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;font-size:14px}.portal-table-wrap thead th[data-v-66025a70]{border-top:0;background:#f7fafb;color:#50616c;font-size:13px;font-weight:700}.portal-table-wrap tbody tr:hover td[data-v-66025a70]{background:#f7fbfa}.portal-table-wrap td.num[data-v-66025a70]{font-variant-numeric:tabular-nums}.portal-table-wrap td small[data-v-66025a70]{display:block;margin-top:3px;color:var(--muted);font-size:12px}.portal-table-wrap .empty[data-v-66025a70]{padding:44px 16px;color:var(--muted);text-align:center}.gift-thumb[data-v-66025a70]{width:36px;height:36px;object-fit:cover;border-radius:9px;vertical-align:middle}.badge[data-v-66025a70]{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:8px;background:#edf3f4;color:#60757d;font-size:12px;font-weight:700}.badge.ok[data-v-66025a70]{background:#e6f6ef;color:#2b886e}.badge.pending[data-v-66025a70]{background:#fff5e2;color:#a2702e}.badge.bad[data-v-66025a70]{background:#fff0ee;color:#b35b57}.badge.info[data-v-66025a70]{background:#e9f1fb;color:#3f6fa0}.portal-pagination[data-v-66025a70]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;color:var(--muted);font-size:13px}.portal-pagination .pager[data-v-66025a70]{display:flex;align-items:center;gap:6px}.portal-pagination button[data-v-66025a70]{min-width:34px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:#50616c;font:inherit;font-size:13px;cursor:pointer}.portal-pagination button[data-v-66025a70]:hover:not(:disabled):not(.current){border-color:var(--teal);color:var(--teal)}.portal-pagination button.current[data-v-66025a70]{border-color:var(--teal);background:var(--teal);color:#fff;font-weight:700}.portal-pagination button[data-v-66025a70]:disabled{opacity:.45;cursor:not-allowed}.portal-modal-backdrop[data-v-66025a70]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px;background:#173b506b}.portal-modal[data-v-66025a70]{position:relative;width:min(640px,100%);max-height:86vh;overflow:auto;padding:24px;border-radius:20px;background:var(--surface);box-shadow:0 24px 60px #173b5040}.portal-modal.narrow[data-v-66025a70]{width:min(460px,100%)}.portal-modal>header[data-v-66025a70]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.portal-modal>header h3[data-v-66025a70]{margin:0;color:var(--navy);font-size:19px}.modal-close[data-v-66025a70]{width:34px;height:34px;border:0;border-radius:10px;background:#f2f6f7;color:#60727b;font-size:20px;line-height:1;cursor:pointer}.portal-form[data-v-66025a70]{display:grid;gap:14px}.portal-form label[data-v-66025a70]{display:grid;gap:7px;color:#50616c;font-size:13px;font-weight:600}.portal-form input[data-v-66025a70],.portal-form textarea[data-v-66025a70]{width:100%;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:14px}.portal-form input[data-v-66025a70]{height:44px}.portal-form textarea[data-v-66025a70]{min-height:90px;padding:10px 12px;resize:vertical}.portal-form input[data-v-66025a70]:focus,.portal-form textarea[data-v-66025a70]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f;background:#fff}.portal-form .portal-primary[data-v-66025a70]{width:100%;min-height:46px;margin-top:4px}@media (max-width: 1100px){.portal-stats[data-v-66025a70]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.portal-app[data-v-66025a70]{display:block}.portal-sidebar[data-v-66025a70]{position:static;height:auto;padding:14px}.portal-brand[data-v-66025a70]{padding-bottom:12px}.portal-sidebar nav[data-v-66025a70]{display:flex;overflow-x:auto}.portal-sidebar nav button[data-v-66025a70]{white-space:nowrap}.portal-bottom[data-v-66025a70]{display:none}.portal-main[data-v-66025a70]{padding:20px 14px}.profile-card[data-v-66025a70]{flex-wrap:wrap;padding:20px}.profile-vip[data-v-66025a70]{width:100%}.portal-stats[data-v-66025a70]{grid-template-columns:1fr}}.portal-shell[data-v-6df6452c]{--ink: #1d2a35;--muted: #7c8a94;--line: #e4ebee;--canvas: #f2f6f7;--surface: #fff;--navy: #173b50;--teal: #1e8c86;--teal-dark: #177770;--teal-soft: #e5f4f1;--coral: #ef876b;--amber: #dda54f;--danger: #d86161;--shadow: 0 14px 34px rgba(32, 61, 72, .08);--ui-text: var(--ink);--ui-border: var(--line);--ui-link: var(--teal);--ui-primary: var(--teal);--ui-primary-hover: var(--teal-dark);--ui-control-height: 40px;--ui-control-font: 14px;min-height:100vh;background:var(--canvas);color:var(--ink);font-family:DM Sans,Noto Sans SC,system-ui,sans-serif}.portal-loading[data-v-6df6452c]{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.portal-login[data-v-6df6452c]{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-login-card[data-v-6df6452c]{width:min(400px,100%);padding:40px 32px 32px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.portal-login-mark[data-v-6df6452c]{width:64px;height:64px;margin:0 auto 18px;display:grid;place-items:center;border-radius:20px;background:var(--navy);color:#fff;font-size:26px;font-weight:800}.portal-login h1[data-v-6df6452c]{margin:0 0 26px;color:var(--navy);font-size:24px}.portal-login .portal-primary[data-v-6df6452c]{width:100%}.portal-link[data-v-6df6452c]{display:inline-block;margin-top:18px;color:var(--teal);font-size:13px;text-decoration:none}.portal-primary[data-v-6df6452c],.portal-secondary[data-v-6df6452c],.portal-ghost[data-v-6df6452c]{min-height:40px;padding:0 18px;border:0;border-radius:12px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.portal-primary[data-v-6df6452c]{background:var(--teal);color:#fff;box-shadow:0 8px 18px #1e8c8633}.portal-primary[data-v-6df6452c]:hover:not(:disabled){background:var(--teal-dark)}.portal-secondary[data-v-6df6452c]{background:var(--teal-soft);color:var(--teal)}.portal-ghost[data-v-6df6452c]{border:1px solid var(--line);background:var(--surface);color:#50616c}.portal-primary[data-v-6df6452c]:disabled,.portal-secondary[data-v-6df6452c]:disabled{opacity:.5;cursor:not-allowed}.portal-primary.compact[data-v-6df6452c],.portal-secondary.compact[data-v-6df6452c]{min-height:34px;padding:0 14px;font-size:13px}.table-link[data-v-6df6452c]{padding:0 6px;border:0;background:none;color:var(--teal);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.table-link[data-v-6df6452c]:hover{text-decoration:underline}.portal-error[data-v-6df6452c]{margin:14px 0 0;color:var(--danger);font-size:13px}.portal-error.inline[data-v-6df6452c]{margin:0 0 16px;padding:10px 14px;border-radius:12px;background:#fff0ee}.portal-app[data-v-6df6452c]{display:flex;min-height:100vh}.portal-sidebar[data-v-6df6452c]{position:sticky;top:0;flex:0 0 232px;height:100vh;display:flex;flex-direction:column;padding:26px 16px 20px;background:var(--navy);color:#cfe1e6}.portal-brand[data-v-6df6452c]{display:flex;align-items:center;gap:12px;padding:0 10px 30px}.portal-brand>span[data-v-6df6452c]{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--coral);color:#fff;font-size:18px;font-weight:800}.portal-brand b[data-v-6df6452c]{color:#fff;font-size:17px}.portal-sidebar nav[data-v-6df6452c]{display:grid;gap:4px}.portal-sidebar nav button[data-v-6df6452c]{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border:0;border-radius:12px;background:transparent;color:#b9cfd6;font:inherit;font-size:15px;text-align:left;cursor:pointer}.portal-sidebar nav button span[data-v-6df6452c]{width:18px;color:#7fb7b3;text-align:center}.portal-sidebar nav button[data-v-6df6452c]:hover{background:#ffffff12;color:#fff}.portal-sidebar nav button.active[data-v-6df6452c]{background:var(--teal);color:#fff;font-weight:700}.portal-sidebar nav button.active span[data-v-6df6452c]{color:#fff}.portal-bottom[data-v-6df6452c]{margin-top:auto;display:grid;gap:8px}.portal-bottom button[data-v-6df6452c]{min-height:42px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:transparent;color:#cfe1e6;font:inherit;font-size:14px;cursor:pointer}.portal-bottom button[data-v-6df6452c]:hover{background:#ffffff14;color:#fff}.portal-main[data-v-6df6452c]{flex:1;min-width:0;padding:28px 36px 40px}.portal-topbar[data-v-6df6452c]{display:flex;align-items:center;min-height:44px;margin-bottom:22px}.portal-topbar h2[data-v-6df6452c]{margin:0;color:var(--navy);font-size:24px}.portal-content[data-v-6df6452c]{width:100%}.portal-content.empty[data-v-6df6452c]{padding:60px 0;color:var(--muted);text-align:center}.portal-card[data-v-6df6452c]{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.profile-card[data-v-6df6452c]{display:flex;align-items:center;gap:22px;padding:26px 28px}.profile-avatar[data-v-6df6452c]{width:84px;height:84px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:24px;background:var(--teal-soft);color:var(--teal);font-size:32px;font-weight:800}.profile-avatar img[data-v-6df6452c]{width:100%;height:100%;object-fit:cover}.profile-copy[data-v-6df6452c]{flex:1;min-width:0}.profile-copy h1[data-v-6df6452c]{margin:0 0 6px;color:var(--navy);font-size:26px}.profile-meta[data-v-6df6452c]{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:13px}.birthday-inline[data-v-6df6452c]{display:flex;align-items:center;gap:8px;margin-top:14px;color:#50616c;font-size:13px}.birthday-inline input[data-v-6df6452c]{width:100px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:13px}.birthday-inline input[data-v-6df6452c]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f}.profile-vip[data-v-6df6452c]{flex:none;min-width:150px;padding:16px 20px;border-radius:16px;background:var(--navy);color:#cfe1e6;text-align:center}.profile-vip span[data-v-6df6452c],.profile-vip small[data-v-6df6452c]{display:block;font-size:12px}.profile-vip strong[data-v-6df6452c]{display:block;margin:6px 0 4px;color:#fff;font-size:22px}.portal-stats[data-v-6df6452c]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.portal-stat[data-v-6df6452c]{position:relative;padding:20px 22px;overflow:hidden}.portal-stat[data-v-6df6452c]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--teal)}.portal-stat.gold[data-v-6df6452c]:before{background:var(--amber)}.portal-stat.diamond[data-v-6df6452c]:before{background:#4b9dc3}.portal-stat.coral[data-v-6df6452c]:before{background:var(--coral)}.portal-stat span[data-v-6df6452c]{display:block;color:var(--muted);font-size:13px}.portal-stat strong[data-v-6df6452c]{display:block;margin:10px 0 4px;color:var(--navy);font-size:28px;line-height:1.2}.portal-stat small[data-v-6df6452c]{display:block;color:var(--muted);font-size:12px}.portal-stat .portal-primary[data-v-6df6452c]{margin-top:12px}.list-card[data-v-6df6452c]{padding:20px 22px 18px}.list-filters[data-v-6df6452c]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.list-filters input[data-v-6df6452c]{height:40px;min-width:180px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:13px}.list-filters input[type=date][data-v-6df6452c]{min-width:150px}.list-filters input[data-v-6df6452c]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f;background:#fff}.list-filters .portal-ghost[data-v-6df6452c]{min-height:40px}.list-filters[data-v-6df6452c] .filter-control>input,.list-filters[data-v-6df6452c] .date-range{height:40px;border-color:var(--line);border-radius:11px;background:#fbfdfe;font-size:13px}.list-filters[data-v-6df6452c] .filter-control>input:focus,.list-filters[data-v-6df6452c] .date-range:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #1e8c861f;background:#fff}.list-filters[data-v-6df6452c] .date-range>input{font-size:13px}.portal-table-wrap[data-v-6df6452c]{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.portal-table-wrap table[data-v-6df6452c]{width:100%;min-width:860px;border-collapse:collapse}.portal-table-wrap th[data-v-6df6452c],.portal-table-wrap td[data-v-6df6452c]{padding:14px 16px;border-top:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;font-size:14px}.portal-table-wrap thead th[data-v-6df6452c]{border-top:0;background:#f7fafb;color:#50616c;font-size:13px;font-weight:700}.portal-table-wrap tbody tr:hover td[data-v-6df6452c]{background:#f7fbfa}.portal-table-wrap td.num[data-v-6df6452c]{font-variant-numeric:tabular-nums}.portal-table-wrap td small[data-v-6df6452c]{display:block;margin-top:3px;color:var(--muted);font-size:12px}.portal-table-wrap .empty[data-v-6df6452c]{padding:44px 16px;color:var(--muted);text-align:center}.gift-thumb[data-v-6df6452c]{width:36px;height:36px;object-fit:cover;border-radius:9px;vertical-align:middle}.badge[data-v-6df6452c]{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:8px;background:#edf3f4;color:#60757d;font-size:12px;font-weight:700}.badge.ok[data-v-6df6452c]{background:#e6f6ef;color:#2b886e}.badge.pending[data-v-6df6452c]{background:#fff5e2;color:#a2702e}.badge.bad[data-v-6df6452c]{background:#fff0ee;color:#b35b57}.badge.info[data-v-6df6452c]{background:#e9f1fb;color:#3f6fa0}.portal-pagination[data-v-6df6452c]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;color:var(--muted);font-size:13px}.portal-pagination .pager[data-v-6df6452c]{display:flex;align-items:center;gap:6px}.portal-pagination button[data-v-6df6452c]{min-width:34px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:#50616c;font:inherit;font-size:13px;cursor:pointer}.portal-pagination button[data-v-6df6452c]:hover:not(:disabled):not(.current){border-color:var(--teal);color:var(--teal)}.portal-pagination button.current[data-v-6df6452c]{border-color:var(--teal);background:var(--teal);color:#fff;font-weight:700}.portal-pagination button[data-v-6df6452c]:disabled{opacity:.45;cursor:not-allowed}.portal-modal-backdrop[data-v-6df6452c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px;background:#173b506b}.portal-modal[data-v-6df6452c]{position:relative;width:min(640px,100%);max-height:86vh;overflow:auto;padding:24px;border-radius:20px;background:var(--surface);box-shadow:0 24px 60px #173b5040}.portal-modal.narrow[data-v-6df6452c]{width:min(460px,100%)}.portal-modal>header[data-v-6df6452c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.portal-modal>header h3[data-v-6df6452c]{margin:0;color:var(--navy);font-size:19px}.modal-close[data-v-6df6452c]{width:34px;height:34px;border:0;border-radius:10px;background:#f2f6f7;color:#60727b;font-size:20px;line-height:1;cursor:pointer}.portal-form[data-v-6df6452c]{display:grid;gap:14px}.portal-form label[data-v-6df6452c]{display:grid;gap:7px;color:#50616c;font-size:13px;font-weight:600}.portal-form input[data-v-6df6452c],.portal-form textarea[data-v-6df6452c]{width:100%;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:14px}.portal-form input[data-v-6df6452c]{height:44px}.portal-form textarea[data-v-6df6452c]{min-height:90px;padding:10px 12px;resize:vertical}.portal-form input[data-v-6df6452c]:focus,.portal-form textarea[data-v-6df6452c]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f;background:#fff}.portal-form .portal-primary[data-v-6df6452c]{width:100%;min-height:46px;margin-top:4px}@media (max-width: 1100px){.portal-stats[data-v-6df6452c]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.portal-app[data-v-6df6452c]{display:block}.portal-sidebar[data-v-6df6452c]{position:static;height:auto;padding:14px}.portal-brand[data-v-6df6452c]{padding-bottom:12px}.portal-sidebar nav[data-v-6df6452c]{display:flex;overflow-x:auto}.portal-sidebar nav button[data-v-6df6452c]{white-space:nowrap}.portal-bottom[data-v-6df6452c]{display:none}.portal-main[data-v-6df6452c]{padding:20px 14px}.profile-card[data-v-6df6452c]{flex-wrap:wrap;padding:20px}.profile-vip[data-v-6df6452c]{width:100%}.portal-stats[data-v-6df6452c]{grid-template-columns:1fr}}.points-stats[data-v-6df6452c]{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.type-buttons[data-v-6df6452c]{display:flex;flex-wrap:wrap;gap:6px}.type-buttons button[data-v-6df6452c]{min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.type-buttons button.active[data-v-6df6452c]{border-color:var(--teal);background:var(--teal-soft);color:var(--teal);font-weight:700}.plus[data-v-6df6452c]{color:#2b886e}.minus[data-v-6df6452c]{color:#b35b57}.portal-shell[data-v-d5f4b9db]{--ink: #1d2a35;--muted: #7c8a94;--line: #e4ebee;--canvas: #f2f6f7;--surface: #fff;--navy: #173b50;--teal: #1e8c86;--teal-dark: #177770;--teal-soft: #e5f4f1;--coral: #ef876b;--amber: #dda54f;--danger: #d86161;--shadow: 0 14px 34px rgba(32, 61, 72, .08);--ui-text: var(--ink);--ui-border: var(--line);--ui-link: var(--teal);--ui-primary: var(--teal);--ui-primary-hover: var(--teal-dark);--ui-control-height: 40px;--ui-control-font: 14px;min-height:100vh;background:var(--canvas);color:var(--ink);font-family:DM Sans,Noto Sans SC,system-ui,sans-serif}.portal-loading[data-v-d5f4b9db]{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.portal-login[data-v-d5f4b9db]{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-login-card[data-v-d5f4b9db]{width:min(400px,100%);padding:40px 32px 32px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.portal-login-mark[data-v-d5f4b9db]{width:64px;height:64px;margin:0 auto 18px;display:grid;place-items:center;border-radius:20px;background:var(--navy);color:#fff;font-size:26px;font-weight:800}.portal-login h1[data-v-d5f4b9db]{margin:0 0 26px;color:var(--navy);font-size:24px}.portal-login .portal-primary[data-v-d5f4b9db]{width:100%}.portal-link[data-v-d5f4b9db]{display:inline-block;margin-top:18px;color:var(--teal);font-size:13px;text-decoration:none}.portal-primary[data-v-d5f4b9db],.portal-secondary[data-v-d5f4b9db],.portal-ghost[data-v-d5f4b9db]{min-height:40px;padding:0 18px;border:0;border-radius:12px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.portal-primary[data-v-d5f4b9db]{background:var(--teal);color:#fff;box-shadow:0 8px 18px #1e8c8633}.portal-primary[data-v-d5f4b9db]:hover:not(:disabled){background:var(--teal-dark)}.portal-secondary[data-v-d5f4b9db]{background:var(--teal-soft);color:var(--teal)}.portal-ghost[data-v-d5f4b9db]{border:1px solid var(--line);background:var(--surface);color:#50616c}.portal-primary[data-v-d5f4b9db]:disabled,.portal-secondary[data-v-d5f4b9db]:disabled{opacity:.5;cursor:not-allowed}.portal-primary.compact[data-v-d5f4b9db],.portal-secondary.compact[data-v-d5f4b9db]{min-height:34px;padding:0 14px;font-size:13px}.table-link[data-v-d5f4b9db]{padding:0 6px;border:0;background:none;color:var(--teal);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.table-link[data-v-d5f4b9db]:hover{text-decoration:underline}.portal-error[data-v-d5f4b9db]{margin:14px 0 0;color:var(--danger);font-size:13px}.portal-error.inline[data-v-d5f4b9db]{margin:0 0 16px;padding:10px 14px;border-radius:12px;background:#fff0ee}.portal-app[data-v-d5f4b9db]{display:flex;min-height:100vh}.portal-sidebar[data-v-d5f4b9db]{position:sticky;top:0;flex:0 0 232px;height:100vh;display:flex;flex-direction:column;padding:26px 16px 20px;background:var(--navy);color:#cfe1e6}.portal-brand[data-v-d5f4b9db]{display:flex;align-items:center;gap:12px;padding:0 10px 30px}.portal-brand>span[data-v-d5f4b9db]{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--coral);color:#fff;font-size:18px;font-weight:800}.portal-brand b[data-v-d5f4b9db]{color:#fff;font-size:17px}.portal-sidebar nav[data-v-d5f4b9db]{display:grid;gap:4px}.portal-sidebar nav button[data-v-d5f4b9db]{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border:0;border-radius:12px;background:transparent;color:#b9cfd6;font:inherit;font-size:15px;text-align:left;cursor:pointer}.portal-sidebar nav button span[data-v-d5f4b9db]{width:18px;color:#7fb7b3;text-align:center}.portal-sidebar nav button[data-v-d5f4b9db]:hover{background:#ffffff12;color:#fff}.portal-sidebar nav button.active[data-v-d5f4b9db]{background:var(--teal);color:#fff;font-weight:700}.portal-sidebar nav button.active span[data-v-d5f4b9db]{color:#fff}.portal-bottom[data-v-d5f4b9db]{margin-top:auto;display:grid;gap:8px}.portal-bottom button[data-v-d5f4b9db]{min-height:42px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:transparent;color:#cfe1e6;font:inherit;font-size:14px;cursor:pointer}.portal-bottom button[data-v-d5f4b9db]:hover{background:#ffffff14;color:#fff}.portal-main[data-v-d5f4b9db]{flex:1;min-width:0;padding:28px 36px 40px}.portal-topbar[data-v-d5f4b9db]{display:flex;align-items:center;min-height:44px;margin-bottom:22px}.portal-topbar h2[data-v-d5f4b9db]{margin:0;color:var(--navy);font-size:24px}.portal-content[data-v-d5f4b9db]{width:100%}.portal-content.empty[data-v-d5f4b9db]{padding:60px 0;color:var(--muted);text-align:center}.portal-card[data-v-d5f4b9db]{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.profile-card[data-v-d5f4b9db]{display:flex;align-items:center;gap:22px;padding:26px 28px}.profile-avatar[data-v-d5f4b9db]{width:84px;height:84px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:24px;background:var(--teal-soft);color:var(--teal);font-size:32px;font-weight:800}.profile-avatar img[data-v-d5f4b9db]{width:100%;height:100%;object-fit:cover}.profile-copy[data-v-d5f4b9db]{flex:1;min-width:0}.profile-copy h1[data-v-d5f4b9db]{margin:0 0 6px;color:var(--navy);font-size:26px}.profile-meta[data-v-d5f4b9db]{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:13px}.birthday-inline[data-v-d5f4b9db]{display:flex;align-items:center;gap:8px;margin-top:14px;color:#50616c;font-size:13px}.birthday-inline input[data-v-d5f4b9db]{width:100px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:13px}.birthday-inline input[data-v-d5f4b9db]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f}.profile-vip[data-v-d5f4b9db]{flex:none;min-width:150px;padding:16px 20px;border-radius:16px;background:var(--navy);color:#cfe1e6;text-align:center}.profile-vip span[data-v-d5f4b9db],.profile-vip small[data-v-d5f4b9db]{display:block;font-size:12px}.profile-vip strong[data-v-d5f4b9db]{display:block;margin:6px 0 4px;color:#fff;font-size:22px}.portal-stats[data-v-d5f4b9db]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.portal-stat[data-v-d5f4b9db]{position:relative;padding:20px 22px;overflow:hidden}.portal-stat[data-v-d5f4b9db]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--teal)}.portal-stat.gold[data-v-d5f4b9db]:before{background:var(--amber)}.portal-stat.diamond[data-v-d5f4b9db]:before{background:#4b9dc3}.portal-stat.coral[data-v-d5f4b9db]:before{background:var(--coral)}.portal-stat span[data-v-d5f4b9db]{display:block;color:var(--muted);font-size:13px}.portal-stat strong[data-v-d5f4b9db]{display:block;margin:10px 0 4px;color:var(--navy);font-size:28px;line-height:1.2}.portal-stat small[data-v-d5f4b9db]{display:block;color:var(--muted);font-size:12px}.portal-stat .portal-primary[data-v-d5f4b9db]{margin-top:12px}.list-card[data-v-d5f4b9db]{padding:20px 22px 18px}.list-filters[data-v-d5f4b9db]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.list-filters input[data-v-d5f4b9db]{height:40px;min-width:180px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:13px}.list-filters input[type=date][data-v-d5f4b9db]{min-width:150px}.list-filters input[data-v-d5f4b9db]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f;background:#fff}.list-filters .portal-ghost[data-v-d5f4b9db]{min-height:40px}.list-filters[data-v-d5f4b9db] .filter-control>input,.list-filters[data-v-d5f4b9db] .date-range{height:40px;border-color:var(--line);border-radius:11px;background:#fbfdfe;font-size:13px}.list-filters[data-v-d5f4b9db] .filter-control>input:focus,.list-filters[data-v-d5f4b9db] .date-range:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #1e8c861f;background:#fff}.list-filters[data-v-d5f4b9db] .date-range>input{font-size:13px}.portal-table-wrap[data-v-d5f4b9db]{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.portal-table-wrap table[data-v-d5f4b9db]{width:100%;min-width:860px;border-collapse:collapse}.portal-table-wrap th[data-v-d5f4b9db],.portal-table-wrap td[data-v-d5f4b9db]{padding:14px 16px;border-top:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;font-size:14px}.portal-table-wrap thead th[data-v-d5f4b9db]{border-top:0;background:#f7fafb;color:#50616c;font-size:13px;font-weight:700}.portal-table-wrap tbody tr:hover td[data-v-d5f4b9db]{background:#f7fbfa}.portal-table-wrap td.num[data-v-d5f4b9db]{font-variant-numeric:tabular-nums}.portal-table-wrap td small[data-v-d5f4b9db]{display:block;margin-top:3px;color:var(--muted);font-size:12px}.portal-table-wrap .empty[data-v-d5f4b9db]{padding:44px 16px;color:var(--muted);text-align:center}.gift-thumb[data-v-d5f4b9db]{width:36px;height:36px;object-fit:cover;border-radius:9px;vertical-align:middle}.badge[data-v-d5f4b9db]{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:8px;background:#edf3f4;color:#60757d;font-size:12px;font-weight:700}.badge.ok[data-v-d5f4b9db]{background:#e6f6ef;color:#2b886e}.badge.pending[data-v-d5f4b9db]{background:#fff5e2;color:#a2702e}.badge.bad[data-v-d5f4b9db]{background:#fff0ee;color:#b35b57}.badge.info[data-v-d5f4b9db]{background:#e9f1fb;color:#3f6fa0}.portal-pagination[data-v-d5f4b9db]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;color:var(--muted);font-size:13px}.portal-pagination .pager[data-v-d5f4b9db]{display:flex;align-items:center;gap:6px}.portal-pagination button[data-v-d5f4b9db]{min-width:34px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:#50616c;font:inherit;font-size:13px;cursor:pointer}.portal-pagination button[data-v-d5f4b9db]:hover:not(:disabled):not(.current){border-color:var(--teal);color:var(--teal)}.portal-pagination button.current[data-v-d5f4b9db]{border-color:var(--teal);background:var(--teal);color:#fff;font-weight:700}.portal-pagination button[data-v-d5f4b9db]:disabled{opacity:.45;cursor:not-allowed}.portal-modal-backdrop[data-v-d5f4b9db]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px;background:#173b506b}.portal-modal[data-v-d5f4b9db]{position:relative;width:min(640px,100%);max-height:86vh;overflow:auto;padding:24px;border-radius:20px;background:var(--surface);box-shadow:0 24px 60px #173b5040}.portal-modal.narrow[data-v-d5f4b9db]{width:min(460px,100%)}.portal-modal>header[data-v-d5f4b9db]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.portal-modal>header h3[data-v-d5f4b9db]{margin:0;color:var(--navy);font-size:19px}.modal-close[data-v-d5f4b9db]{width:34px;height:34px;border:0;border-radius:10px;background:#f2f6f7;color:#60727b;font-size:20px;line-height:1;cursor:pointer}.portal-form[data-v-d5f4b9db]{display:grid;gap:14px}.portal-form label[data-v-d5f4b9db]{display:grid;gap:7px;color:#50616c;font-size:13px;font-weight:600}.portal-form input[data-v-d5f4b9db],.portal-form textarea[data-v-d5f4b9db]{width:100%;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:14px}.portal-form input[data-v-d5f4b9db]{height:44px}.portal-form textarea[data-v-d5f4b9db]{min-height:90px;padding:10px 12px;resize:vertical}.portal-form input[data-v-d5f4b9db]:focus,.portal-form textarea[data-v-d5f4b9db]:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #1e8c861f;background:#fff}.portal-form .portal-primary[data-v-d5f4b9db]{width:100%;min-height:46px;margin-top:4px}@media (max-width: 1100px){.portal-stats[data-v-d5f4b9db]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.portal-app[data-v-d5f4b9db]{display:block}.portal-sidebar[data-v-d5f4b9db]{position:static;height:auto;padding:14px}.portal-brand[data-v-d5f4b9db]{padding-bottom:12px}.portal-sidebar nav[data-v-d5f4b9db]{display:flex;overflow-x:auto}.portal-sidebar nav button[data-v-d5f4b9db]{white-space:nowrap}.portal-bottom[data-v-d5f4b9db]{display:none}.portal-main[data-v-d5f4b9db]{padding:20px 14px}.profile-card[data-v-d5f4b9db]{flex-wrap:wrap;padding:20px}.profile-vip[data-v-d5f4b9db]{width:100%}.portal-stats[data-v-d5f4b9db]{grid-template-columns:1fr}}:root{font-family:DM Sans,Noto Sans SC,sans-serif;color:#20233a;background:#f6f7fb;font-size:14px;line-height:1.45;font-synthesis:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;background:#17182c;color:#adb1cb;display:flex;flex-direction:column;padding:24px 14px 16px;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:10px;padding:0 11px 28px;color:#fff}.brand b{display:block;font-size:15px;letter-spacing:.02em}.brand small{display:block;font-size:9px;letter-spacing:.19em;color:#686d91;margin-top:2px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(145deg,#aa76ff,#6654e8);font-weight:700;font-size:18px}.workspace-switch{display:flex;align-items:center;gap:9px;padding:9px 10px;margin:0 0 22px;border:1px solid #2a2b45;border-radius:10px;background:#20213a;color:#e2e4f2}.workspace-switch b{display:block;font-size:12px}.workspace-switch small{display:block;color:#777c9f;font-size:10px;margin-top:2px}.workspace-switch .chevron{margin-left:auto}.avatar{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;color:#fff;font-weight:600;flex:0 0 auto}.avatar.gradient{background:linear-gradient(145deg,#9f77ef,#5756e8)}.avatar.blue{background:#4874f6}.avatar.purple{background:#8c66e8}.avatar.orange{background:#e9925d}.nav-group{margin-bottom:20px}.nav-title{font-size:10px;letter-spacing:.1em;color:#676c8e;padding:0 12px 8px}.nav-item{width:100%;display:flex;align-items:center;gap:11px;height:40px;padding:0 12px;border-radius:9px;color:#9fa4c1;text-align:left;font-size:13px;position:relative;transition:.15s}.nav-item:hover{background:#23243f;color:#fff}.nav-item.active{color:#fff;background:linear-gradient(90deg,#6355e9,#6d5bef);box-shadow:0 7px 16px #6251e63b}.nav-icon{font-size:17px;width:17px;text-align:center;color:#858bb4}.nav-item.active .nav-icon{color:#fff}.badge-dot{margin-left:auto;border-radius:8px;background:#ec7f91;color:#fff;font-size:10px;line-height:18px;padding:0 6px}.sidebar-bottom{margin-top:auto}.user-card{border-top:1px solid #2a2b44;margin-top:12px;padding:15px 8px 0;display:flex;align-items:center;gap:9px;color:#e6e7f3}.user-card b{display:block;font-size:12px}.user-card small{display:block;color:#767b9f;font-size:10px;margin-top:1px}.user-card>span{margin-left:auto;font-size:18px;color:#777c9d}.main{margin-left:246px;flex:1;min-width:874px}.topbar{height:64px;border-bottom:1px solid #e8e9f1;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 36px}.breadcrumbs{font-size:12px;color:#9a9db0}.breadcrumbs i{font-style:normal;padding:0 9px;color:#c6c8d4}.breadcrumbs b{color:#44475e}.top-actions{display:flex;align-items:center;gap:18px}.icon-button{font-size:20px;color:#797d97;position:relative}.notify em{position:absolute;top:-3px;right:-8px;background:#e96b82;color:#fff;border-radius:50%;font-style:normal;font-size:9px;line-height:15px;width:15px}.top-avatar{width:30px;height:30px;border-radius:10px;background:#f0e9ff;color:#7b5bdd;display:grid;place-items:center;font-weight:600}.content{padding:30px 36px 50px;max-width:1600px;margin:auto}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric-grid.compact .metric-card{padding:17px 20px}.metric-card{background:#fff;border:1px solid #ecedf3;border-radius:12px;padding:20px 22px;position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;width:82px;height:82px;border-radius:50%;right:-19px;bottom:-27px;opacity:.08}.metric-card.purple{border-top:3px solid #7b65ea}.metric-card.purple:after{background:#7b65ea}.metric-card.blue{border-top:3px solid #4988ed}.metric-card.blue:after{background:#4988ed}.metric-card.orange{border-top:3px solid #ea9a55}.metric-card.orange:after{background:#ea9a55}.metric-card.green{border-top:3px solid #3cc394}.metric-card.green:after{background:#3cc394}.metric-top{display:flex;justify-content:space-between;align-items:center;color:#8e91a5;font-size:11px}.metric-icon{font-size:18px;color:#8f7cf0}.metric-card>span{color:#8e91a5;font-size:11px;display:block}.metric-card strong{display:block;font-size:25px;letter-spacing:-.03em;margin:12px 0 7px;color:#272a42}.metric-card small{font-size:10px;color:#a2a4b5}.metric-foot{display:flex;gap:7px;color:#a2a4b5;font-size:10px}.up{color:#33b68a}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:17px;margin-bottom:18px}.panel{background:#fff;border:1px solid #ebecf2;border-radius:12px;overflow:hidden;margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px}.panel-head b{font-size:13px;color:#2e3048}.panel-head small{display:block;color:#a0a2b3;font-size:10px;margin-top:3px;font-weight:400}.panel-head .more{font-size:19px;color:#999db1}.legend{font-size:10px;color:#83869c;display:flex;gap:7px;align-items:center}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.purple-dot{background:#7d69eb}.blue-dot{background:#4b91ed}.orange-dot{background:#e9a162}.gray-dot{background:#d5d6de}.chart{height:215px;display:flex;align-items:flex-end;justify-content:space-around;padding:25px 28px 23px;background:linear-gradient(#fff,#fcfcff);border-top:1px solid #f1f1f6}.bar-group{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px}.bars{height:160px;display:flex;align-items:flex-end;gap:4px}.bar{display:block;width:10px;border-radius:3px 3px 0 0;min-height:13px}.bar.recharge{background:#8271ed}.bar.consume{background:#8fbef3}.bar-group small{font-size:9px;color:#a1a4b6}.donut-wrap{height:215px;display:flex;align-items:center;justify-content:center;gap:28px}.donut{width:145px;height:145px;border-radius:50%;background:conic-gradient(#7968eb 0,#7968eb 26.6%,#ee9f61 26.6%,#ee9f61 77.8%,#d9dae2 77.8%,#d9dae2);display:grid;place-items:center;position:relative}.donut:after{content:"";width:96px;height:96px;border-radius:50%;background:#fff;position:absolute}.donut span{position:relative;z-index:1;font-weight:700;color:#353750;text-align:center;font-size:16px}.donut small{display:block;font-size:9px;font-weight:400;color:#9ca0b1;margin-top:2px}.donut-legend{display:flex;flex-direction:column;gap:14px;font-size:10px;color:#888b9d}.donut-legend .dot{margin-right:7px}.donut-legend b{display:block;margin:3px 0 0 15px;color:#353750;font-size:12px}.profit{color:#31a980;font-weight:600}.progress-label{display:inline-block;color:#3cae88;font-size:10px;margin-bottom:4px}.progress{width:80px;height:4px;background:#e9eaf0;border-radius:3px}.progress i{display:block;height:100%;background:#42be96;border-radius:3px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.quick-card{display:flex;align-items:center;text-align:left;padding:18px;border-radius:12px;background:#fff;border:1px solid #e9eaf2;gap:13px;transition:.15s}.quick-card:hover{transform:translateY(-2px);box-shadow:0 7px 20px #4641821a}.quick-card>span{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:20px}.quick-card.purple>span{background:#eeeaff;color:#765fe3}.quick-card.blue>span{background:#e8f2ff;color:#4d90e9}.quick-card.orange>span{background:#fff0e4;color:#dc8c4c}.quick-card b{display:block;color:#30334b;font-size:13px}.quick-card small{display:block;color:#9da0b0;font-size:10px;margin-top:3px}.quick-card i{font-style:normal;color:#a1a4b6;margin-left:auto}.two-col{display:grid;grid-template-columns:1.2fr 1fr;gap:17px}.account-list{padding:0 20px 9px}.account-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #f2f2f6}.account-main{flex:1}.account-main b{display:block;font-size:11px}.account-main small,.account-balance small{display:block;color:#a2a5b5;font-size:9px;margin-top:3px}.tag{font-size:9px;font-weight:500;background:#efecff;color:#7865dd;border-radius:4px;padding:2px 5px;margin-left:3px}.account-balance{text-align:right}.account-balance b{font-size:12px;display:block;margin-top:3px}.row-more{color:#6d5ae4;font-size:10px;margin-left:8px}.todo-list{padding:0 20px 10px}.todo-row{display:flex;align-items:center;padding:14px 0;border-top:1px solid #f2f2f6;gap:10px}.todo-icon{font-size:12px}.todo-icon.purple{color:#7d68e8}.todo-icon.orange{color:#e7a05d}.todo-icon.red{color:#df7180}.todo-row div{flex:1}.todo-row b{display:block;font-size:11px}.todo-row small{display:block;color:#a1a4b3;font-size:9px;margin-top:3px}.todo-row strong{font-size:12px;color:#44475d}.todo-row strong i{font-style:normal;color:#a1a3b4;margin-left:4px}.count-badge{width:24px;height:24px;border-radius:7px;background:#f2eeff;color:#715ee3;display:grid;place-items:center;font-size:11px}.sla{color:#dc9a4b;font-size:10px}.overdue{color:#d66072;font-size:10px}.rank-list{padding:0 20px 12px}.rank-row{display:flex;align-items:center;gap:11px;padding:13px 0;border-top:1px solid #f1f2f6;font-size:11px}.rank-row>b{flex:1}.rank-row>span:not(.rank-no):not(.score){font-size:10px;color:#9296a9}.rank-row>strong{font-size:11px}.rank-no{width:19px;height:19px;display:grid;place-items:center;border-radius:5px;color:#a2a5b4;background:#f1f2f6;font-size:10px}.rank-no.top{background:#ece9ff;color:#715ddd}.score{background:#e8f7f1;color:#2b9d78;padding:3px 6px;border-radius:4px;font-size:9px}.income{color:#2d9d79}.expense{color:#d26779}.serial{font-size:10px;color:#9397aa}.person{display:flex;align-items:center;gap:8px}.person small{display:block;color:#a0a3b5;font-size:9px;margin-top:2px}.config-layout{display:grid;grid-template-columns:280px 1fr;gap:17px}.category-tree{height:max-content}.plus{font-size:18px;color:#6a58e4}.tree-item{display:flex;align-items:center;gap:9px;padding:12px 18px;border-top:1px solid #f1f2f6;color:#7f8398;font-size:11px}.tree-item.selected{background:#f1efff;color:#6654dc}.tree-item small{margin-left:auto;color:#a1a4b3;font-size:9px}.tree-item i{font-style:normal;margin-left:7px;color:#a0a3b5}.panel-actions{display:flex;gap:8px}.price-summary{display:flex;gap:26px;padding:0 20px 14px;color:#9497a9;font-size:10px}.price-summary b{color:#4c4f67;font-size:13px;margin-left:4px}.input-prefix,.input-suffix{display:flex;align-items:center;border:1px solid #e1e2ec;border-radius:7px;height:35px;background:#fff}.input-prefix span,.input-suffix span{padding:0 9px;color:#989bad;font-size:11px}.input-prefix input,.input-suffix input{border:0!important;outline:0!important;height:100%;min-width:0!important}.input-suffix input{width:100%}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 12px}label{display:block;color:#777b90;font-size:11px}label input,label select,label textarea{display:block;width:100%;border:1px solid #e1e2ec;border-radius:7px;background:#fff;outline:0;padding:0 10px;height:35px;margin-top:6px;font-size:11px;color:#4f526a}label textarea{height:auto;padding:9px 10px;resize:vertical}label input:focus,label select:focus,label textarea:focus{border-color:#8d7cf0;box-shadow:0 0 0 3px #f0edff}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#17182c57;z-index:20}.drawer{width:580px;background:#fafaff;position:absolute;right:0;top:0;bottom:0;box-shadow:-12px 0 35px #191a3226;display:flex;flex-direction:column}.drawer-head{padding:22px 25px 17px;background:#fff;border-bottom:1px solid #e9e9f1;display:flex;justify-content:space-between}.drawer-head h2{font-size:17px;margin:0;color:#272941}.drawer-head small{display:block;color:#a1a4b4;font-size:10px;margin-top:4px}.close{font-size:24px;color:#8c8fa3;line-height:20px}.drawer-body{padding:20px 25px;overflow:auto;flex:1}.drawer-foot{padding:14px 25px;border-top:1px solid #e8e9f1;background:#fff;display:flex;justify-content:flex-end;gap:9px}.form-section{padding-bottom:20px;margin-bottom:19px;border-bottom:1px solid #e6e7ef}.form-section:last-child{border:0}.form-section h3{font-size:12px;color:#3d4058;margin:0 0 14px}.form-section>label{margin-top:13px}.calc-box{background:#f5f3ff;border:1px solid #ebe7ff;border-radius:8px;padding:11px 14px;margin-top:15px}.calc-box>div{display:flex;justify-content:space-between;padding:5px 0;color:#777a91;font-size:10px}.calc-box b{color:#4f526b}.calc-total{border-top:1px solid #e0dcfc;margin-top:5px;padding-top:11px!important}.calc-total span{color:#4b4d65;font-weight:600}.calc-total strong{font-size:18px;color:#6b58e4}.green-text{color:#30a47f!important}.red-text{color:#d76174!important}.muted-text{color:#777b8e;font-size:11px;line-height:1.7;margin:0}.upload{display:flex;align-items:center;gap:12px;border:1px dashed #d4d5e1;border-radius:8px;padding:13px;margin-top:14px;color:#747891}.upload>span{font-size:22px;color:#8979ec}.upload b{display:block;font-size:11px}.upload small{display:block;color:#a4a6b5;font-size:9px;margin-top:3px}.radio-row{display:flex;gap:20px;margin-bottom:13px;color:#777b90;font-size:11px}.radio-row label{display:flex;align-items:center;gap:5px}.radio-row input{width:auto;height:auto;margin:0}.balance-banner{display:flex;align-items:center;gap:10px;border:1px solid #e4e1f9;border-radius:8px;background:#f8f6ff;padding:12px;margin-top:14px}.balance-banner b{display:block;font-size:11px}.balance-banner small{display:block;color:#989bad;font-size:9px;margin-top:3px}.balance-banner>span{margin-left:auto;font-size:10px;color:#705ede;background:#ebe7ff;padding:3px 6px;border-radius:5px}.ticket-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#f5f4fb;border-radius:8px;padding:13px;margin-bottom:20px}.ticket-summary small{display:block;color:#9699aa;font-size:9px}.ticket-summary b{display:block;color:#393c53;font-size:12px;margin-top:4px}.evidence{display:flex;align-items:center;gap:9px;background:#f8f8fc;border:1px solid #e6e7ee;border-radius:7px;padding:8px;margin-top:13px;font-size:10px}.evidence>div:first-child{font-size:21px}.evidence div:nth-child(2){flex:1}.evidence small{display:block;color:#9b9eae;font-size:9px;margin-top:2px}.action-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.action-cards button{padding:11px 8px;border:1px solid #e1e2eb;border-radius:7px;text-align:left;background:#fff}.action-cards button.selected{border-color:#7663e5;background:#f3f0ff}.action-cards b{display:block;font-size:10px}.action-cards small{display:block;color:#9b9eae;font-size:9px;margin-top:4px}.toast{position:fixed;z-index:30;left:50%;bottom:28px;transform:translate(-50%);background:#282a41;color:#fff;padding:10px 19px;border-radius:8px;box-shadow:0 6px 18px #14152833;font-size:12px}@media (max-width:1200px){.content{padding-left:24px;padding-right:24px}.topbar{padding:0 24px}.metric-card{padding:17px}.two-col,.dashboard-grid{grid-template-columns:1fr}.config-layout{grid-template-columns:220px 1fr}}.dashboard-metrics{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:14px}.dashboard-submetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.dashboard-submetrics>div{background:#fff;border:1px solid #ebecf2;border-radius:9px;padding:12px 14px}.dashboard-submetrics small{display:block;color:#9599ad;font-size:10px}.dashboard-submetrics b{display:block;color:#35384f;font-size:12px;margin-top:6px}.donut-list{padding:11px 20px 16px}.donut-row{display:grid;grid-template-columns:10px 1fr auto auto;gap:8px;align-items:center;padding:10px 0;border-top:1px solid #f1f1f6;font-size:11px}.donut-row:first-child{border-top:0}.donut-row b{color:#555970}.donut-row strong{color:#33364c;font-size:11px}.donut-row em{font-style:normal;color:#8e92a5;font-size:10px}.donut-dot{width:8px;height:8px;border-radius:50%;background:#a7a9b7}.gender-male{background:#7664e8}.gender-female{background:#ee9b67}.gender-unknown{background:#bec0cb}.mini-progress{grid-column:2 / -1;height:5px;border-radius:4px;background:#eff0f4;overflow:hidden}.mini-progress i{display:block;height:100%;border-radius:4px;background:#7b6beb}.donut-row:nth-child(2) .mini-progress i{background:#ee9b67}.donut-row:nth-child(3) .mini-progress i{background:#b9bbc7}.line-chart{height:180px;display:flex;align-items:flex-end;gap:3px;padding:20px 18px 24px;border-top:1px solid #f1f1f6;overflow:hidden}.line-point{height:100%;flex:1;min-width:7px;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;gap:7px}.line-point i{display:block;width:100%;min-height:3px;background:linear-gradient(#806eea,#b2a8f4);border-radius:4px 4px 1px 1px}.line-point.consume i{background:linear-gradient(#68a4ec,#b2d2f8)}.line-point span{font-size:8px;color:#a2a5b5;white-space:nowrap;transform:rotate(-45deg);transform-origin:top center;margin-bottom:-15px}.category-compare{padding:10px 20px 18px}.category-bar{display:grid;grid-template-columns:120px 1fr 85px;align-items:center;gap:12px;padding:9px 0;font-size:11px;color:#5d6178}.category-bar>i{height:8px;background:#eff0f5;border-radius:5px;overflow:hidden}.category-bar>i>b{display:block;height:100%;background:#7a68e9;border-radius:5px}.category-bar strong{text-align:right;font-size:11px;color:#4c5068}.player-approval{display:grid;grid-template-columns:130px 1fr 70px 130px;gap:18px;align-items:center;padding:17px 20px}.player-approval small{display:block;color:#9699ab;font-size:10px}.player-approval b{display:block;color:#34374d;font-size:17px;margin-top:4px}.player-approval>strong{text-align:center;color:#3aa980}.approval-track{height:12px;border-radius:7px;background:#eef0f4;overflow:hidden}.approval-track i{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,#6d5be5,#51bb95)}body{color:#111}.page,button,input,select,textarea{font-size:15px}.page label{font-size:15px;color:#111}.page label input,.page label select,.page label textarea{font-size:15px}.action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.person-detail{padding:14px 16px;border:1px solid #e6e7ef;border-radius:10px;background:#fff}.person-detail h3{font-size:16px;margin:0 0 10px;color:#111}.field-error{color:#b42318;font-size:14px}.order-detail-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:18px}.order-detail-actions button{width:100%;min-height:44px}:root{font-family:Inter,Noto Sans SC,sans-serif;color:#282b42;background:#f6f7fb}*{box-sizing:border-box}body{margin:0;min-width:1120px}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;background:#f6f7fb}.sidebar{width:246px;background:#17182c;color:#adb1cb;position:fixed;inset:0 auto 0 0;padding:22px 14px;overflow:auto}.logo{display:flex;align-items:center;gap:10px;color:#fff;padding:0 9px 22px}.logo>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#aa76ff,#6355e8);font-size:18px;font-weight:700}.logo b{display:block;font-size:14px}.logo small{display:block;font-size:8px;color:#6e7394;letter-spacing:.11em;margin-top:2px}.tenant{padding:10px 12px;border:1px solid #2c2d47;background:#20213a;border-radius:9px;margin-bottom:20px}.tenant b{display:block;font-size:11px;color:#e3e4ef}.tenant small{font-size:9px;color:#777c9c}.sidebar nav{margin-bottom:13px}.nav-title{font-size:10px;letter-spacing:.08em;color:#696e8e;padding:6px 12px}.nav-link{width:100%;height:38px;color:#9da2bf;display:flex;align-items:center;gap:10px;border-radius:8px;padding:0 12px;font-size:12px;text-align:left;background:none;border:0}.nav-link:hover{background:#242540;color:#fff}.nav-link.active{background:linear-gradient(90deg,#6656e8,#7160ee);color:#fff;box-shadow:0 6px 16px #5f4de038}.nav-link i{font-style:normal;font-size:16px;width:17px;text-align:center}.dev-note{border-top:1px solid #2b2c47;margin-top:18px;padding:14px 11px;color:#777c9a;font-size:10px;line-height:1.7}.main{margin-left:246px;min-height:100vh}.topbar{height:62px;background:#fff;border-bottom:1px solid #e9eaf2;padding:0 34px;display:flex;align-items:center;justify-content:space-between}.crumb{color:#9699ab;font-size:12px}.crumb span{padding:0 9px;color:#c9cad5}.topright{display:flex;align-items:center;gap:16px}.api-state{font-size:10px;color:#269b77}.avatar{width:30px;height:30px;border-radius:9px;background:#efeaff;color:#725fe0;display:grid;place-items:center;font-weight:600}.page{padding:28px 34px;max-width:1800px;margin:auto}.error-banner,.notice{padding:10px 13px;border-radius:8px;margin-bottom:14px;font-size:11px}.error-banner{background:#fff0f1;border:1px solid #ffd2d7;color:#c54d60}.error-banner button{float:right;color:#c54d60;background:none;border:0}.notice{background:#e8f8f2;color:#278f6e;border:1px solid #c6ecdf}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:17px}.metric{background:#fff;border:1px solid #eaebf2;border-top:3px solid #7967e9;border-radius:10px;padding:16px 18px}.metric small{display:block;color:#9699aa;font-size:10px}.metric b{display:block;font-size:20px;margin-top:10px;color:#30334b}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:15px}.panel{background:#fff;border:1px solid #eaebf2;border-radius:10px;overflow:hidden;margin-bottom:16px}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;font-size:12px;color:#35384e}.panel-title small{display:block;color:#a1a4b4;font-size:9px;font-weight:400;margin-top:3px}.trend{height:220px;display:flex;align-items:flex-end;gap:10px;padding:18px 22px;border-top:1px solid #f1f2f6}.trend-item{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px}.trend-item i{width:14px;max-height:90%;min-height:2px;border-radius:4px 4px 0 0;background:linear-gradient(#826ff0,#bbafff)}.trend-item span{font-size:8px;color:#9da0b2}.donut-empty{height:220px;border-top:1px solid #f1f2f6;display:flex;justify-content:center;align-items:center;gap:18px;text-align:center;color:#999cad;font-size:10px}.ring{width:116px;height:116px;border-radius:50%;background:conic-gradient(#e5e5ed 0,#e5e5ed);position:relative}.ring:after{content:"";position:absolute;top:22px;right:22px;bottom:22px;left:22px;background:#fff;border-radius:50%}.donut-empty small{font-size:9px;color:#b4b6c2}.form-card{padding:20px}.branch{display:flex;gap:20px;padding-bottom:16px;border-bottom:1px solid #ececf2;margin-bottom:18px}.branch label{font-size:11px;color:#666a80}.branch input{margin-right:5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label,.form-card>label,.drawer-body label{font-size:10px;color:#7c8093}.form-footer{display:flex;justify-content:flex-end;margin-top:18px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14152859;z-index:10}.drawer{position:absolute;right:0;top:0;bottom:0;width:590px;background:#fafaff;box-shadow:-12px 0 32px #1e1e3c29;display:flex;flex-direction:column}.drawer header{padding:20px 24px;background:#fff;border-bottom:1px solid #e8e9f0;display:flex;justify-content:space-between}.drawer header h2{font-size:16px;margin:0}.drawer header small{font-size:10px;color:#a0a3b3}.drawer header button{font-size:22px;color:#9699aa;background:none;border:0}.drawer-body{padding:20px 24px;overflow:auto}.drawer-body>label{display:block;margin-top:14px}.drawer-body .muted{font-size:10px;color:#999cad;line-height:1.7}.detail-list{font-size:12px;color:#666a80}.detail-list p{border-bottom:1px solid #ececf2;padding:10px 0;margin:0}@media (max-width:1200px){.page{padding:24px}.metrics{grid-template-columns:repeat(3,1fr)}.drawer{width:520px}}.action-row{display:flex;gap:8px;margin-top:18px}.calc-result{margin-top:10px;padding:10px;border-radius:6px;background:#f1efff;color:#6757e8;font-size:11px}.mini-stats{min-height:220px;border-top:1px solid #f1f2f6;padding:16px 20px;display:flex;flex-direction:column;justify-content:center;gap:10px}.mini-stats>div{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:7px;background:#fafaff}.mini-stats b{font-size:11px;color:#4a4d64}.mini-stats span{font-size:10px;color:#85899d}.dashboard-quick{display:flex;gap:3px;margin-left:10px;background:#f0eff8;border-radius:7px;padding:3px}.dashboard-quick button{border:0;background:transparent;color:#85889d;border-radius:5px;padding:5px 8px;font-size:10px}.dashboard-quick button.selected{background:#fff;color:#6352dd;box-shadow:0 1px 3px #2828461a}.trend-bars{height:170px;display:flex;align-items:flex-end;gap:3px}.trend-bars i{display:block;width:8px;min-height:3px;border-radius:3px 3px 0 0}.trend-recharge{background:linear-gradient(#826ff0,#b7acff)}.trend-consumption{background:linear-gradient(#73a9e9,#b9d8ff)}.trend-legend{display:flex;gap:16px;padding:0 22px 13px;color:#85899d;font-size:9px}.trend-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.trend-recharge-dot{background:#826ff0}.trend-consumption-dot{background:#73a9e9}.gender-stats{min-height:220px;padding:20px;display:flex;flex-direction:column;justify-content:center;gap:11px}.gender-stats>div{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:11px 12px;border-radius:7px;background:#fafaff}.gender-stats b{font-size:11px;color:#4a4d64}.gender-stats strong{font-size:12px;color:#34374f}.gender-stats span{grid-column:1/-1;color:#85899d;font-size:10px}.rank-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 16px 16px}.rank-card{border:1px solid #ececf3;border-radius:8px;overflow:hidden}.rank-card>b{display:block;padding:12px 14px;font-size:11px;color:#4a4d64;background:#fafaff}.rank-wide{grid-column:auto}@media (max-width:1400px){.dashboard-quick{margin-left:0}.rank-columns{grid-template-columns:repeat(2,1fr)}.rank-wide{grid-column:1/-1}}.detail-section{margin-top:18px;padding-top:14px;border-top:1px solid #ececf3}.detail-section h3{font-size:12px;color:#45485e;margin:0 0 10px}.timeline{display:flex;flex-direction:column;gap:8px}.timeline-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid #ececf3;border-radius:7px;background:#fff}.timeline-item>div{flex:1}.timeline-item b{display:block;font-size:10px;color:#4b4e64}.timeline-item small{display:block;color:#9a9daf;font-size:9px;margin-top:3px}.timeline-dot{width:8px;height:8px;border-radius:50%;background:#7362e6;flex:none}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:-3px 0 16px}.metric-strip>div{background:#fff;border:1px solid #eaebf2;border-radius:8px;padding:11px 13px}.metric-strip small{display:block;color:#9699aa;font-size:9px}.metric-strip b{display:block;color:#45485e;font-size:12px;margin-top:6px;white-space:nowrap}.donut-pair{min-height:190px;display:flex;align-items:center;justify-content:center;gap:18px;padding:18px;flex-wrap:wrap;border-top:1px solid #f1f2f6}.donut-stat{text-align:center;min-width:100px}.donut-stat .ring{margin:0 auto 8px;width:84px;height:84px}.donut-stat b{display:block;font-size:11px;color:#484b63}.donut-stat span{display:block;font-size:9px;color:#85899d;margin-top:4px}.single-trend{height:210px;display:flex;align-items:flex-end;gap:4px;padding:16px 18px;border-top:1px solid #f1f2f6;overflow:hidden}.single-trend .trend-item{min-width:9px;flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}.single-trend .trend-item i{display:block;width:100%;min-height:3px;border-radius:3px 3px 0 0}.single-trend .trend-item span{font-size:8px;color:#9da0b2;transform:rotate(-45deg);white-space:nowrap}.progress-row{display:grid;grid-template-columns:48px 1fr 65px;gap:8px;align-items:center;margin:12px 0;font-size:10px;color:#6e7288}.progress-row b{font-size:10px;text-align:right;color:#4d5067}.progress-track{height:9px;border-radius:6px;background:#ececf4;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7160e8,#a89dff)}.gender-progress,.approval-progress{padding:16px 20px;min-height:190px}.approval-progress{display:flex;flex-direction:column;justify-content:center;gap:12px}.approval-progress>b{font-size:17px;color:#484b63}.approval-progress>span{font-size:10px;color:#85899d}@media (max-width:1250px){.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.auth-loading{min-height:100vh;display:grid;place-items:center;color:#777b90;background:#f6f7fb;font-size:13px}.user-name{color:#111;font-size:11px}.donut-chart{min-height:220px;display:flex;align-items:center;justify-content:center;gap:26px;padding:20px;border-top:1px solid #f1f2f6}.donut-chart .ring-large{width:142px;height:142px;flex:0 0 142px}.donut-legend{display:flex;flex-direction:column;gap:13px;min-width:125px;font-size:10px;color:#72768b}.donut-legend>div{display:grid;grid-template-columns:10px auto;column-gap:6px;align-items:center}.donut-legend b{grid-column:2;color:#34374f;font-size:11px;margin-top:2px}.donut-legend small{grid-column:2;color:#999cad;font-size:9px}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;grid-row:1 / span 3}.category-combo{padding:4px 20px 16px;border-top:1px solid #f1f2f6}.combo-legend{display:flex;gap:18px;justify-content:flex-end;color:#8c90a4;font-size:9px;padding:9px 0 4px}.combo-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:-1px}.combo-order-key{background:#7563e8}.combo-amount-key{width:8px!important;height:8px!important;border:2px solid #e28a9a;border-radius:50%!important;background:#fff}.combo-row{display:grid;grid-template-columns:92px 1fr 155px;align-items:center;gap:10px;padding:8px 0;color:#656980;font-size:10px}.combo-row>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.combo-track{height:15px;border-radius:5px;background:#f0f0f6;position:relative}.combo-order-bar{display:block;height:100%;min-width:2px;border-radius:5px;background:linear-gradient(90deg,#7563e8,#a99cf3)}.combo-amount-point{position:absolute;top:3px;width:9px;height:9px;border:2px solid #e28a9a;border-radius:50%;background:#fff;transform:translate(-50%)}.combo-row>span{text-align:right;color:#85899d;font-size:9px;white-space:nowrap}.gender-progress{border-top:1px solid #f1f2f6}.gender-progress .progress-row{margin:9px 0}.gender-progress .progress-track{height:8px}.gender-progress .progress-track i{background-image:none}.svg-trend{display:block;height:222px;padding:8px 13px 0;border-top:1px solid #f1f2f6;overflow:hidden}.line-chart-svg{display:block;width:100%;height:100%;overflow:visible}.chart-grid line,.category-grid line{stroke:#ececf3;stroke-width:1;vector-effect:non-scaling-stroke}.chart-grid text{fill:#a1a4b4;font-size:9px;text-anchor:start;dominant-baseline:middle}.chart-labels text{fill:#9a9daf;font-size:9px;text-anchor:middle}.trend-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.trend-line-recharge{stroke:#7563e8}.trend-line-consumption,.trend-line-player{stroke:#4b92dc}.trend-area{stroke:none}.trend-area-recharge{fill:#7563e8;fill-opacity:.12}.trend-area-consumption,.trend-area-player{fill:#4b92dc;fill-opacity:.12}.trend-point{fill:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.trend-point-recharge{stroke:#7563e8}.trend-point-consumption,.trend-point-player{stroke:#4b92dc}.svg-trend:hover .trend-point{r:4.5}.svg-category-combo{padding:4px 20px 13px;border-top:1px solid #f1f2f6}.category-chart-svg{display:block;width:100%;height:252px;overflow:visible}.category-order-bar{fill:#7563e8;fill-opacity:.9}.category-amount-line{fill:none;stroke:#e28a9a;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.category-amount-point{fill:#fff;stroke:#e28a9a;stroke-width:2;vector-effect:non-scaling-stroke}.category-label{fill:#777b90;font-size:9px;text-anchor:middle;dominant-baseline:hanging}.category-axis-label{fill:#a1a4b4;font-size:9px}.category-axis-right{text-anchor:end}.category-chart-svg rect,.category-chart-svg circle{transition:opacity .15s,transform .15s}.category-chart-svg rect:hover,.category-chart-svg circle:hover{opacity:.72}.svg-category-combo .combo-legend{padding:9px 0 1px}.page .donut-legend,.page .combo-legend,.page .combo-row,.page .combo-row>b,.page .combo-row>span{font-size:14px;color:#111}.page .chart-grid text,.page .chart-labels text,.page .category-label,.page .category-axis-label{font-size:13px;fill:#333}.backdrop{display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.backdrop>.drawer{position:relative;inset:auto;width:min(920px,calc(100vw - 48px));max-height:calc(100vh - 48px);height:auto;min-height:280px;border-radius:12px;box-shadow:0 22px 60px #16183447;overflow:hidden}.backdrop>.drawer>.drawer-body{max-height:calc(100vh - 138px);overflow:auto}.backdrop>.drawer>header{flex:0 0 auto}@media (max-width:720px){.backdrop{padding:10px}.backdrop>.drawer{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.backdrop>.drawer>.drawer-body{max-height:calc(100vh - 105px)}.form-grid{grid-template-columns:1fr}}.service-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding-bottom:16px;border-bottom:1px solid #ececf2;margin-bottom:18px}.service-choice{display:flex;align-items:center;gap:9px;min-height:54px;padding:9px 11px;border:1px solid #e1e2ec;border-radius:8px;background:#fff;text-align:left;color:#73778d}.service-choice:hover{border-color:#8d7cf0;background:#faf9ff}.service-choice.selected{border-color:#6b59e4;background:#f1efff;color:#5f4dd2;box-shadow:0 0 0 2px #e8e4ff}.service-choice i{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#f0f1f6;font-style:normal;font-size:11px;font-weight:700}.service-choice.selected i{background:#6b59e4;color:#fff}.service-choice b{display:block;font-size:11px}.service-choice small{display:block;margin-top:2px;color:#a0a3b4;font-size:9px}.service-choice.selected small{color:#8276d6}@media (max-width:900px){.service-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.branch{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px!important;padding-bottom:16px!important;margin-bottom:18px!important}.branch label{display:flex;align-items:center;gap:8px;min-height:54px;padding:9px 11px;border:1px solid #e1e2ec;border-radius:8px;background:#fff;color:#73778d!important;font-size:11px!important;cursor:pointer}.branch label:has(input:checked){border-color:#6b59e4;background:#f1efff;color:#5f4dd2!important;box-shadow:0 0 0 2px #e8e4ff}.branch input{accent-color:#6b59e4;margin-right:2px!important}@media (max-width:900px){.branch{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.assessment-application-context{padding:12px 14px;background:#f8f7ff;border:1px solid #e7e3ff;border-radius:8px;margin-bottom:14px}.assessment-application-context h3{margin:0 0 8px;color:#5148a7;font-size:12px}.assessment-application-context p{display:inline-block;margin:0 18px 4px 0;color:#686b81;font-size:10px}.assessment-history{display:grid;gap:7px}.assessment-history-row{display:grid;grid-template-columns:145px 70px 1fr;align-items:center;gap:8px;padding:8px 10px;border:1px solid #ececf3;border-radius:6px;background:#fff;font-size:10px;color:#777b90}.assessment-history-row b{font-size:10px;color:#6152d5}.assessment-history-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#999caf}.opinion-cell{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:720px){.assessment-history-row{grid-template-columns:1fr}.assessment-history-row small{white-space:normal}}.feedback-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#1c1d3261}.feedback-modal{position:relative;width:min(420px,calc(100vw - 40px));padding:26px 28px 22px;border-radius:14px;background:#fff;box-shadow:0 20px 70px #14152e40;text-align:center}.feedback-modal.error{border-top:4px solid #d76879}.feedback-modal h3{margin:0 0 9px;color:#34364d;font-size:17px}.feedback-modal p{margin:0 0 20px;color:#70748a;font-size:13px;line-height:1.7;word-break:break-word}.feedback-close{position:absolute;right:12px;top:10px;border:0;background:none;color:#9da0b1;font-size:22px;cursor:pointer}.feedback-toast{position:fixed;left:50%;right:auto;top:82px;z-index:81;transform:translate(-50%);max-width:min(620px,calc(100vw - 48px));padding:16px 26px;border:2px solid #8bd7b6;border-radius:12px;background:#ecfbf4;color:#176a4e;font-size:15px;font-weight:700;box-shadow:0 14px 38px #1d564533;cursor:pointer;text-align:center}.result-modal{border-top:4px solid #6b59e4}.result-modal.error{border-top-color:#d76879}.result-detail{color:#8d90a2!important;font-size:11px!important}.result-rows{max-height:180px;overflow:auto;margin:0 0 18px;padding:0 10px;list-style:none;text-align:left;border:1px solid #ececf3;border-radius:8px;background:#fafaff}.result-rows li{padding:7px 4px;border-bottom:1px solid #efeff5;color:#666a80;font-size:11px}.result-rows li:last-child{border-bottom:0}@media (max-width:720px){.feedback-toast{right:12px;top:60px}}.hub-head-actions .hub-refresh,.hub-head-actions>.btn.ghost{display:none}.hub-refresh{background:#2fa36b!important;color:#fff;border:1px solid #2fa36b}:root{font-size:18px}.shell,.page,.drawer,.feedback-modal{color:#111}.sidebar .nav-link{font-size:16px;min-height:44px;height:auto}.sidebar .nav-title{font-size:14px;color:#c3c6d6}.logo b,.tenant b{font-size:16px}.logo small,.tenant small{font-size:13px;color:#d2d4e0}.topbar,.crumb,.topright,.user-name,.api-state,.page,.page button,.page input,.page select,.page textarea{font-size:15px}.page .panel-title{font-size:17px;color:#111}.page .panel-title small,.page .metric small,.page .metric-strip small,.page .mini-stats b{font-size:14px;color:#111}.page .metric b{font-size:25px}.page .metric-strip b,.page .mini-stats span{font-size:16px;color:#111}.page label,.drawer-body label{font-size:15px;color:#111}.page label input,.page label select,.page label textarea,.drawer-body input,.drawer-body select,.drawer-body textarea{font-size:15px;min-height:39px;color:#111}.drawer header h2{font-size:21px}.drawer header small,.drawer-body .muted,.detail-list{font-size:14px;color:#111}.detail-list p{padding:13px 0;line-height:1.7}.gift-config-thumb{width:42px!important;height:42px!important;object-fit:cover;border-radius:6px}.page .workbench-hub{color:#111;font-size:15px}.page .workbench-hub button,.page .workbench-hub input,.page .workbench-hub select{font-size:14px!important;color:#111}.page .workbench-hub small,.page .workbench-hub p,.page .workbench-hub span{font-size:14px;color:#222}.page .workbench-hub .role-tabs span,.page .workbench-hub .hub-section-title b,.page .workbench-hub .panel-title b{font-size:15px}.page .workbench-hub .hub-panel th,.page .workbench-hub .hub-panel td{font-size:14px!important;color:#111;padding-top:14px;padding-bottom:14px}.page .workbench-hub .status{font-size:13px}@media (max-width:1200px){.page{padding:24px}}:root{--ui-primary: #6557e8;--ui-primary-hover: #5748db;--ui-primary-soft: #eeecff;--ui-primary-text: #6453df;--ui-primary-shadow: 0 5px 12px #6557e833;--ui-link: #6d5ae4;--ui-danger: #d15d70;--ui-danger-soft: #fff0f2;--ui-danger-border: #f5c8d0;--ui-action-bg: #e9f8f1;--ui-action-border: #bfe8d5;--ui-action-text: #218b67;--ui-action-hover-bg: #d9f3e8;--ui-action-hover-border: #8dd5b7;--ui-action-hover-text: #176a4e;--ui-text: #111;--ui-muted: #8b8ea1;--ui-border: #dfe2eb;--ui-border-soft: #ebecf2;--ui-row-line: #f0f1f5;--ui-surface: #fff;--ui-header-bg: #fcfcfe;--ui-row-hover: #f3f1ff;--ui-control-height: 39px;--ui-control-small: 32px;--ui-control-radius: 8px;--ui-control-font: 15px;--ui-panel-radius: 10px}.btn,.page .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:auto;min-height:var(--ui-control-height);padding:0 14px;border:1px solid transparent;border-radius:var(--ui-control-radius);font-size:var(--ui-control-font);font-weight:600;white-space:nowrap;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{color:#fff;background:var(--ui-primary);box-shadow:var(--ui-primary-shadow)}.btn.primary:hover:not(:disabled){background:var(--ui-primary-hover)}.btn.ghost{color:#656980;background:var(--ui-surface);border-color:#e1e2ed}.btn.ghost:hover:not(:disabled){background:#f9f9ff;border-color:#c5c7dd}.toolbar .btn.ghost,.filter-row .btn.ghost,.page-header .btn.ghost,.dashboard-switch .btn.ghost{color:var(--ui-action-text);background:var(--ui-action-bg);border-color:var(--ui-action-border)}.toolbar .btn.ghost:hover:not(:disabled),.filter-row .btn.ghost:hover:not(:disabled),.page-header .btn.ghost:hover:not(:disabled),.dashboard-switch .btn.ghost:hover:not(:disabled){color:var(--ui-action-hover-text);background:var(--ui-action-hover-bg);border-color:var(--ui-action-hover-border)}.btn.danger,.page-header .btn.ghost.danger{color:var(--ui-danger);background:var(--ui-danger-soft);border-color:var(--ui-danger-border)}.btn.danger:hover:not(:disabled),.page-header .btn.ghost.danger:hover:not(:disabled){color:#b8485b;background:#ffe4e8;border-color:#eba8b5}.btn.small,.page .btn.small{min-height:var(--ui-control-small);padding:0 10px;font-size:13px}.wide{width:100%;margin-top:18px}.link,.page .link{padding:1px 6px;border:0;background:none;color:var(--ui-link);font-size:14px;font-weight:600;cursor:pointer}.link:hover{text-decoration:underline}.link:disabled{opacity:.4;cursor:not-allowed;text-decoration:none}.link.danger{color:var(--ui-danger);margin-left:8px}.toolbar,.filter-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px;min-width:0;min-height:36px;margin-bottom:14px;font-size:var(--ui-control-font)}.toolbar>input,.toolbar>select,.filter-row>input,.filter-row>select{flex:0 1 190px;min-width:160px;height:var(--ui-control-height);min-height:var(--ui-control-height);margin:0;padding:0 11px;border:1px solid var(--ui-border);border-radius:var(--ui-control-radius);background:var(--ui-surface);color:var(--ui-text);font-size:var(--ui-control-font)}.toolbar>label,.filter-row>label{flex:0 1 auto;min-width:160px}.toolbar>.search-select,.filter-row>.search-select{flex:0 1 150px;margin:0}.filter-control{position:relative;display:inline-flex;align-items:center;flex:0 1 140px;min-width:120px}.filter-control.keyword{flex:1 1 180px;max-width:360px}.filter-control>input,.filter-control>select{width:100%;min-width:0;height:var(--ui-control-height);min-height:var(--ui-control-height);margin:0;padding:0 11px;border:1px solid var(--ui-border);border-radius:var(--ui-control-radius);background:var(--ui-surface);color:var(--ui-text);font-size:var(--ui-control-font)}.filter-control.filled>input{padding-right:32px}.filter-select>select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background:var(--ui-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23888ca0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 11px center / 10px 6px;cursor:pointer}.filter-select.filled>select{padding-right:52px}.filter-control>input:focus,.filter-control>select:focus{outline:0;border-color:var(--ui-primary)}.filter-control>.filter-clear,.date-range>.filter-clear{display:inline-grid;place-items:center;flex:0 0 18px;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:#e7e8ef;color:#5f6379;font-size:13px;line-height:1;cursor:pointer}.filter-control>.filter-clear{position:absolute;top:50%;right:9px;transform:translateY(-50%)}.filter-select>.filter-clear{right:30px}.filter-control>.filter-clear:hover,.date-range>.filter-clear:hover{background:#d9dbe6;color:var(--ui-text)}.date-range{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;height:var(--ui-control-height);padding:0 9px 0 11px;border:1px solid var(--ui-border);border-radius:var(--ui-control-radius);background:var(--ui-surface);color:var(--ui-text);font-size:14px;white-space:nowrap}.date-range:focus-within{border-color:var(--ui-primary)}.date-range-to{color:var(--ui-muted)}.date-range>input[type=date]{width:132px;min-width:0;height:calc(var(--ui-control-height) - 2px);min-height:0;margin:0;padding:0 2px;border:0;background:transparent;color:var(--ui-text);font-size:14px}.date-range>input[type=date]:focus{outline:0}.date-range>input[type=date].date-blank:not(:focus),.date-range>input[type=date].date-blank:not(:focus)::-webkit-datetime-edit{color:transparent}.search-select .search-select-trigger{height:var(--ui-control-height);padding:0 11px;border:1px solid var(--ui-border);border-radius:var(--ui-control-radius);color:var(--ui-text);font-size:var(--ui-control-font)}.search-select .search-select-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-select .search-select-trigger .placeholder{color:#666}.page .search-select{min-width:150px}.upload-input{display:none!important}.filters{display:flex;gap:7px;align-items:center;margin-left:auto;font-size:var(--ui-control-font)}.filters>input,.filters>select{height:34px;min-height:var(--ui-control-height);min-width:95px;padding:0 9px;border:1px solid #e1e2ec;border-radius:7px;background:var(--ui-surface);color:#676a80;font-size:var(--ui-control-font)}.filters>input,.filters>select{height:var(--ui-control-height);padding:0 11px;border-color:var(--ui-border);border-radius:var(--ui-control-radius);color:var(--ui-text)}.filters>input[type=date]{min-width:128px}.dashboard-quick>button{flex:0 0 auto;white-space:nowrap}.form-grid input,.form-grid select,.form-card textarea,.drawer-body input,.drawer-body select,.drawer-body textarea{display:block;width:100%;height:34px;min-height:var(--ui-control-height);margin-top:5px;padding:0 9px;border:1px solid #e1e2ec;border-radius:var(--ui-control-radius);background:var(--ui-surface);color:var(--ui-text);font-size:var(--ui-control-font);outline:none}.form-card textarea,.drawer-body textarea{height:auto;padding:9px;resize:vertical}@media (max-width: 1200px){.filters{flex-wrap:wrap}}@media (max-width: 720px){.filter-control,.filter-control.keyword{flex:1 1 130px;max-width:none}.date-range{flex:1 1 100%}.date-range>input[type=date]{flex:1;width:auto}.toolbar>input,.toolbar>select{flex:1;min-width:130px}}table{width:100%;border-collapse:collapse}th,td{padding:13px 20px;border-top:1px solid var(--ui-row-line);text-align:left;white-space:nowrap;font-size:11px}th{padding-top:10px;padding-bottom:10px;background:var(--ui-header-bg);color:#999caf;font-size:10px;font-weight:500}td{color:var(--ui-text)}td b{font-weight:600;color:#373a52}td small,.cell-sub{display:block;margin-top:3px;color:#9ea1b3;font-size:10px}.panel table{width:100%;border-collapse:collapse;min-width:1100px}.panel th,.panel td{padding:11px 15px;font-size:10px}.panel th{color:#989bab}.panel td small{color:#a1a4b3;font-size:9px}.panel tr.total td{border-top:2px solid #e8e4ff;background:#faf9ff;color:#4d4a75;font-weight:600}.rank-card table{min-width:0}.rank-card th,.rank-card td{padding:9px 11px;font-size:10px}.page table th,.page table td{padding-top:16px;padding-bottom:16px;color:var(--ui-text);font-size:15px}.page table th{font-size:14px;font-weight:600}.page table td small,.page table .cell-sub{color:#222;font-size:13px}.table-scroll{position:relative;overflow:auto;max-width:100%}.table-scroll table{min-width:max-content}.table-scroll th:last-child,.table-scroll td:last-child{position:sticky;right:0;z-index:2;background:var(--ui-surface);box-shadow:-8px 0 12px #191c321a}.table-scroll th:last-child{z-index:3;background:var(--ui-header-bg)}.table-scroll tbody tr{transition:background-color .14s ease}.table-scroll tbody tr:hover td,.table-scroll tbody tr:hover td:last-child{background:var(--ui-row-hover)}.page .table-scroll th[data-sortable=true]{cursor:pointer;-webkit-user-select:none;user-select:none}.page .table-scroll th[data-sort-direction=asc]:after{content:" ↑";color:var(--ui-primary)}.page .table-scroll th[data-sort-direction=desc]:after{content:" ↓";color:var(--ui-primary)}.empty{padding:30px!important;text-align:center!important;color:#444!important;font-size:15px}td .table-avatar{display:block;width:40px;height:40px;border-radius:8px;object-fit:cover;background:#f3f4f8}.status{display:inline-block;padding:5px 9px;border-radius:5px;font-size:13px;font-weight:600}.status.ok{background:#e5f7f0;color:#238e6d}.status.info{background:#e7f1ff;color:#3f7fc9}.status.warn{background:#fff0dd;color:#c48031}.status.bad{background:#ffe9ed;color:#c65368}.status.muted{background:#eff0f5;color:#84889a}.service-tabs,.dashboard-switch{display:flex;align-items:center;gap:4px;margin-bottom:16px}.dashboard-switch{flex-wrap:wrap}.dashboard-switch>.filters{flex:1 1 100%;flex-wrap:wrap;margin-left:0;justify-content:flex-start}.service-tabs>button,.dashboard-switch>button{padding:9px 14px;border:0;border-radius:7px;background:none;color:var(--ui-muted);font-size:var(--ui-control-font)}.service-tabs>button.selected,.dashboard-switch>button.selected{background:var(--ui-primary-soft);color:var(--ui-primary-text);font-weight:600}.toolbar>.service-tabs{margin-bottom:0}.catalog-tabs>button:nth-child(3),.catalog-tabs>button:nth-child(6){display:none}.desk-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:760px;margin:0 0 18px;padding:6px;border:1px solid var(--ui-border-soft);border-radius:14px;background:#f4f4fa}.desk-tabs>.desk-tab{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 16px;border:1px solid transparent;border-radius:10px;background:transparent;color:#4d5068;text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.desk-tabs>.desk-tab:hover:not(.selected){background:#fff;border-color:var(--ui-border)}.desk-tabs>.desk-tab:focus-visible{outline:2px solid var(--ui-primary);outline-offset:2px}.desk-tab-icon{display:grid;flex:0 0 38px;place-items:center;width:38px;height:38px;border-radius:10px;background:#e6e6f2;color:#5f6379;font-size:17px;font-weight:700}.desk-tab-text{display:flex;flex-direction:column;gap:3px;min-width:0}.page .desk-tab-text b{color:inherit;font-size:16px;font-weight:700}.page .desk-tab-text small{overflow:hidden;color:var(--ui-muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.desk-tabs>.desk-tab.selected{border-color:var(--ui-primary);background:#fff;color:var(--ui-primary-text);box-shadow:0 6px 16px #6557e826}.desk-tabs>.desk-tab.selected .desk-tab-icon{background:var(--ui-primary);color:#fff}.page .desk-tabs>.desk-tab.selected small{color:#7d72d8}@media (max-width: 720px){.desk-tabs{grid-template-columns:1fr}}.pager-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:12px 16px;border:1px solid var(--ui-border-soft);border-radius:var(--ui-panel-radius);background:var(--ui-surface);color:var(--ui-muted);font-size:14px;white-space:nowrap}.panel.table-scroll:has(+.pager-bar){margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.panel.table-scroll+.pager-bar{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.pager-total b{margin:0 3px;color:var(--ui-text);font-weight:600}.pager-controls{display:flex;align-items:center;gap:6px}.pager-bar button,.pager-bar select,.pager-bar input{height:var(--ui-control-small);min-height:var(--ui-control-small);margin:0;border:1px solid var(--ui-border);border-radius:var(--ui-control-radius);background:var(--ui-surface);color:var(--ui-text);font-size:14px}.pager-bar button{min-width:32px;padding:0 9px;font-weight:500;line-height:1;cursor:pointer}.pager-bar .pager-arrow{color:#44475e;font-size:20px;padding-bottom:2px}.pager-bar button:hover:not(:disabled):not(.current){border-color:var(--ui-primary);color:var(--ui-primary)}.pager-bar button.current{border-color:var(--ui-primary);background:var(--ui-primary);color:#fff;font-weight:600;cursor:default}.pager-bar button:disabled{opacity:.4;cursor:not-allowed}.pager-bar select{min-width:96px;padding:0 8px;cursor:pointer}.pager-bar .pager-size{margin-right:6px}.pager-gap{min-width:22px;text-align:center;color:var(--ui-muted)}.pager-jump{display:inline-flex;align-items:center;gap:6px;margin-left:6px}.pager-bar .pager-jump input{width:56px;padding:0 6px;text-align:center}@media (max-width: 720px){.pager-bar,.pager-controls{flex-wrap:wrap}}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;margin:0 0 22px}.page-header h2{margin:0;color:var(--ui-text);font-size:22px;font-weight:700}.page-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.ui-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:20px;background:#13283c60}.ui-dialog{width:min(820px,calc(100vw - 40px));max-height:88vh;overflow:auto;padding:24px;border-radius:16px;background:#fff;color:var(--ui-text)}.ui-dialog>header,.ui-dialog>footer{display:flex;align-items:center;gap:12px}.ui-dialog>header{justify-content:space-between;margin-bottom:20px}.ui-dialog>header h3{margin:0;font-size:18px}.ui-dialog>footer{justify-content:flex-end;margin-top:24px}.ui-dialog-close{padding:0 4px;border:0;background:none;color:#8c8fa3;font-size:24px;line-height:1;cursor:pointer}.ui-card{margin:16px 0;padding:20px;border:1px solid #e6ebf1;border-radius:12px;background:#fff}.ui-card h4{margin:0 0 16px;color:var(--ui-text);font-size:15px}.ui-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ui-field{display:flex;flex-direction:column;gap:7px;min-width:0}.ui-field.wide{grid-column:1 / -1}.ui-field-label{color:var(--ui-text);font-size:var(--ui-control-font)}.ui-field-value{display:flex;align-items:center;min-height:var(--ui-control-height);padding:8px 11px;border:1px solid var(--ui-border);border-radius:var(--ui-control-radius);background:#f6f7fa;color:#333;font-size:var(--ui-control-font);overflow-wrap:anywhere}.ui-field-value.multiline{align-items:flex-start;white-space:pre-wrap;line-height:1.6}.ui-card-empty{grid-column:1 / -1;margin:0;padding:18px 0;color:#777;text-align:center;font-size:14px}.ui-list{display:grid;gap:8px}.ui-list-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #ececf3;border-radius:8px;background:#fff}.ui-list-item>div{flex:1;min-width:0}.ui-list-item b{display:block;color:var(--ui-text);font-size:14px}.ui-list-item small{display:block;margin-top:3px;color:#666;font-size:13px}.pager-bar.paged-list-bar{margin:12px 0 0;padding:8px 12px;flex-wrap:wrap}.pager-bar.paged-list-bar .pager-controls{flex-wrap:wrap}.pager-bar.paged-list-bar select,.pager-bar.paged-list-bar input{display:inline-block;width:auto;margin-top:0}.pager-bar.paged-list-bar .pager-jump input{width:56px}.feedback-modal .result-rows{margin-bottom:0}.feedback-modal .pager-bar.paged-list-bar{justify-content:center;margin:10px 0 18px}.backdrop>.drawer{background:#fff;border-radius:16px}.backdrop>.drawer>header{padding:22px 24px 16px;border-bottom:0}.backdrop>.drawer>header h2{font-size:18px}.backdrop>.drawer>.drawer-body{padding:4px 24px 24px}.drawer-body .ui-card:first-child{margin-top:0}@media (max-width: 640px){.ui-card-grid{grid-template-columns:1fr}}
