.dynamic-bg[data-v-9e1de03d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100vw;height:100vh;pointer-events:none;display:block;background:radial-gradient(circle at 15% 20%,rgba(35,168,255,.16),transparent 28%),radial-gradient(circle at 85% 18%,rgba(57,255,193,.12),transparent 24%),radial-gradient(circle at 50% 80%,rgba(255,170,70,.09),transparent 32%),linear-gradient(135deg,#040b16,#09172b 35%,#081524 68%,#030914);background-attachment:fixed}.app-shell{position:relative;z-index:1;min-height:100vh}.login-stage[data-v-a8640990]{position:relative;z-index:1}.login-card[data-v-a8640990]{max-width:400px;padding:36px 34px 28px;border-radius:22px;position:relative;overflow:hidden;background:#09142673;backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(129,190,255,.28);box-shadow:0 24px 60px #0006,inset 0 1px #ffffff14}.login-card[data-v-a8640990]:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--primary),var(--accent-alt),transparent);opacity:.9}.login-card[data-v-a8640990]:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:23px;background:linear-gradient(160deg,rgba(47,140,255,.25),transparent 40%,transparent 60%,rgba(59,255,208,.18));z-index:-1;filter:blur(8px);opacity:.6}.brand[data-v-a8640990]{display:flex;align-items:center;gap:14px;margin-bottom:26px}.brand-logo[data-v-a8640990]{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 8px 22px #2f8cff66,inset 0 1px #ffffff4d;flex-shrink:0}.brand-text h1[data-v-a8640990]{font-size:21px;font-weight:800;letter-spacing:.02em;text-align:left;margin-bottom:2px;text-shadow:0 0 18px rgba(47,140,255,.3)}.brand-text .subtitle[data-v-a8640990]{text-align:left;font-size:12px;color:var(--text-muted);margin:0}.icon-field .input-wrap[data-v-a8640990]{position:relative}.input-icon[data-v-a8640990]{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:15px;opacity:.7;pointer-events:none}.input-wrap input[data-v-a8640990]{padding-left:38px;height:44px}.login-error[data-v-a8640990]{color:var(--danger);font-size:13px;margin-bottom:12px;padding:8px 12px;background:#ff6b7a1a;border:1px solid rgba(255,107,122,.3);border-radius:8px}.login-btn[data-v-a8640990]{width:100%;margin-top:8px;height:46px;font-size:15px;letter-spacing:.1em;display:inline-flex;align-items:center;justify-content:center;gap:8px}.spinner[data-v-a8640990]{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin-a8640990 .7s linear infinite}@keyframes spin-a8640990{to{transform:rotate(360deg)}}.login-foot[data-v-a8640990]{margin-top:22px;text-align:center;font-size:11px;color:var(--text-muted);opacity:.7;letter-spacing:.04em}@media(max-width:480px){.login-card[data-v-a8640990]{padding:28px 22px 22px}.brand-text h1[data-v-a8640990]{font-size:19px}}.searchable-select[data-v-1d556ed6]{position:relative;width:100%;font-size:14px}.searchable-select-trigger[data-v-1d556ed6]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:#ffffff0a;font-family:inherit;font-size:14px;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.searchable-select-trigger[data-v-1d556ed6]:hover:not(:disabled){border-color:var(--border-strong)}.searchable-select.open .searchable-select-trigger[data-v-1d556ed6],.searchable-select-trigger[data-v-1d556ed6]:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2f8cff24}.searchable-select.disabled .searchable-select-trigger[data-v-1d556ed6]{opacity:.6;cursor:not-allowed;background:#09142680}.searchable-select-value[data-v-1d556ed6]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.searchable-select-value.placeholder[data-v-1d556ed6]{color:var(--text-muted)}.searchable-select-actions[data-v-1d556ed6]{display:flex;align-items:center;gap:4px;flex-shrink:0}.searchable-select-clear[data-v-1d556ed6]{width:20px;height:20px;border:none;border-radius:50%;background:#89a6c72e;color:var(--text-muted);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.searchable-select-clear[data-v-1d556ed6]:hover{background:#89a6c74d;color:var(--text)}.searchable-select-chevron[data-v-1d556ed6]{color:var(--text-muted);font-size:12px;transition:transform .15s}.searchable-select.open .searchable-select-chevron[data-v-1d556ed6]{transform:rotate(180deg)}.searchable-select-panel[data-v-1d556ed6]{position:absolute;z-index:50;top:calc(100% + 4px);left:0;right:0;background:var(--card);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 12px 32px #0006;overflow:hidden}.searchable-select-search[data-v-1d556ed6]{padding:8px;border-bottom:1px solid var(--border)}.searchable-select-input[data-v-1d556ed6]{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-family:inherit}.searchable-select-input[data-v-1d556ed6]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2f8cff24}.searchable-select-list[data-v-1d556ed6]{list-style:none;max-height:220px;overflow-y:auto;margin:0;padding:4px 0}.searchable-select-option[data-v-1d556ed6]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;color:var(--text);transition:background .1s}.searchable-select-option[data-v-1d556ed6]:hover{background:#2f8cff1a}.searchable-select-option.selected[data-v-1d556ed6]{background:#2f8cff2e;color:var(--primary)}.searchable-select-check[data-v-1d556ed6]{width:16px;font-size:12px;font-weight:700;color:var(--primary);flex-shrink:0}.searchable-select-option-label[data-v-1d556ed6]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-empty[data-v-1d556ed6]{padding:12px;text-align:center;color:var(--text-muted);font-size:13px}.policy-option.selected[data-v-69d062f6]{border-color:var(--primary)!important;background:#2f8cff1f;box-shadow:var(--shadow-glow)}.wizard-nav[data-v-69d062f6]{display:flex;justify-content:space-between;margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.feedback-thread[data-v-97047919]{display:flex;flex-direction:column;gap:16px}.feedback-msg[data-v-97047919]{padding:12px 14px;border-radius:8px;border:1px solid var(--border)}.feedback-msg-user[data-v-97047919]{background:var(--bg)}.feedback-msg-admin[data-v-97047919]{background:#2f8cff1a;border-color:#2f8cff47}.feedback-msg-meta[data-v-97047919]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.feedback-msg-content[data-v-97047919]{margin:0;white-space:pre-wrap;line-height:1.5}.feedback-images[data-v-97047919]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.feedback-images img[data-v-97047919]{width:72px;height:72px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}.feedback-reply-box textarea[data-v-97047919]{padding:10px 12px;border:1px solid var(--border);border-radius:6px;resize:vertical}.stats-grid[data-v-c07f008e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.stat-card[data-v-c07f008e]{padding:16px}.stat-card .label[data-v-c07f008e]{font-size:13px;color:var(--text-muted)}.stat-card .value[data-v-c07f008e]{font-size:24px;font-weight:700;margin-top:4px}:root{--primary: #2f8cff;--primary-dark: #1f6fd0;--primary-rgb: 47, 140, 255;--accent-alt: #3bffd0;--gold: #f0ca70;--gold-deep: #eab308;--sidebar-bg: linear-gradient(180deg, rgba(6, 14, 28, .42), rgba(4, 10, 20, .34));--sidebar-text: #89a6c7;--sidebar-active: #f6fbff;--bg: #07111f;--bg-body: radial-gradient(circle at 15% 20%, rgba(35, 168, 255, .16), transparent 28%), radial-gradient(circle at 85% 18%, rgba(59, 255, 208, .1), transparent 24%), radial-gradient(circle at 50% 80%, rgba(240, 202, 112, .08), transparent 32%), linear-gradient(135deg, #040b16 0%, #09172b 35%, #081524 68%, #030914 100%);--card: linear-gradient(180deg, rgba(13, 26, 47, .55), rgba(8, 17, 32, .42));--card-solid: rgba(10, 22, 40, .5);--card-soft: linear-gradient(180deg, rgba(15, 31, 56, .48), rgba(8, 17, 31, .36));--glass: rgba(9, 20, 38, .55);--hover-bg: rgba(47, 140, 255, .12);--active-bg: linear-gradient(90deg, rgba(47, 140, 255, .26), rgba(59, 255, 208, .1));--text: #f6fbff;--text-muted: #89a6c7;--border: rgba(129, 190, 255, .14);--border-strong: rgba(129, 190, 255, .26);--radius: 10px;--radius-card: 14px;--shadow: 0 18px 48px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .05);--shadow-glow: 0 0 0 1px rgba(47, 140, 255, .16), 0 18px 42px rgba(19, 95, 214, .24);--success: #39d98a;--warning: #ffb648;--danger: #ff6b7a;--info: #5ab0ff}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-body);background-attachment:fixed}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg-body);background-attachment:fixed;color:var(--text);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:none;opacity:.85}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#81beff2e;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#81beff52}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #2f8cff66}50%{box-shadow:0 0 0 6px #2f8cff00}}.animate-fade-in{animation:fade-in .5s ease-out both}.animate-slide-up{animation:slide-up .55s cubic-bezier(.22,.61,.36,1) both}.bg-decorator{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.bg-decorator:before,.bg-decorator:after{content:"";position:absolute;border-radius:9999px;filter:blur(90px);opacity:.42}.bg-decorator:before{width:24rem;height:24rem;top:-4rem;right:-6rem;background:#2f8cff3d}.bg-decorator:after{width:20rem;height:20rem;bottom:8%;left:-5rem;background:#3bffd01f}.app-layout{display:flex;min-height:100vh}.sidebar{width:300px;background:var(--sidebar-bg);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);color:var(--sidebar-text);flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border);position:sticky;top:0;height:100vh;padding:14px;z-index:30;transition:width .22s cubic-bezier(.22,.61,.36,1)}.app-layout.nav-collapsed .sidebar{width:78px;padding:8px}.app-layout.nav-collapsed .sidebar-inner{padding:10px 8px}.app-layout.nav-collapsed .sidebar-brand-text,.app-layout.nav-collapsed .sidebar-identity,.app-layout.nav-collapsed .sidebar-group-title,.app-layout.nav-collapsed .nav-label,.app-layout.nav-collapsed .nav-badge,.app-layout.nav-collapsed .dark-toggle,.app-layout.nav-collapsed .nav-logout .logout-text{display:none}.app-layout.nav-collapsed .sidebar-brand-row{justify-content:center}.app-layout.nav-collapsed .sidebar-brand-block{padding:10px 6px}.app-layout.nav-collapsed .sidebar-logo{width:38px;height:38px}.app-layout.nav-collapsed .nav-item{justify-content:center;padding:9px 0;gap:0}.app-layout.nav-collapsed .nav-icon{width:38px;height:38px}.app-layout.nav-collapsed .nav-logout{padding:11px 0;gap:0}.app-layout.nav-collapsed .sidebar-collapse-row{padding:0 0 4px;justify-content:center}.app-layout.nav-collapsed .sidebar-group{margin-bottom:10px}.app-layout.nav-collapsed .sidebar-group-items{gap:4px}.sidebar-inner{display:flex;flex-direction:column;height:100%;border-radius:14px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff0a,#ffffff05);padding:14px}.sidebar-brand-block{border-radius:10px;border:1px solid var(--border);background:#ffffff08;padding:14px}.sidebar-brand-row{display:flex;align-items:center;gap:12px}.sidebar-logo{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#03111e;background:linear-gradient(135deg,var(--primary),var(--accent-alt));box-shadow:0 12px 24px #2f8cff47,inset 0 1px #ffffff4d;flex-shrink:0}.sidebar-brand-text .brand-eyebrow{font-size:10px;font-weight:900;letter-spacing:.3em;text-transform:uppercase;color:var(--primary)}.sidebar-brand-text h1{margin-top:3px;font-size:16px;font-weight:900;letter-spacing:-.01em;color:#fff}.sidebar-identity{margin-top:12px;border-radius:8px;border:1px solid var(--border);background:#0003;padding:10px 12px}.sidebar-identity .id-label{font-size:10px;font-weight:900;letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted)}.sidebar-identity .id-name{margin-top:6px;font-size:14px;font-weight:700;color:#fff}.sidebar-identity .id-role{margin-top:2px;font-size:12px;color:var(--text-muted)}.sidebar-nav{margin-top:20px;flex:1;overflow-y:auto;padding-right:2px}.sidebar-group{margin-bottom:20px}.sidebar-group-title{padding:0 14px;font-size:10px;font-weight:900;letter-spacing:.26em;text-transform:uppercase;color:var(--text-muted)}.sidebar-group-items{margin-top:10px;display:flex;flex-direction:column;gap:6px}.sidebar-nav .nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;color:var(--sidebar-text);text-decoration:none;font-size:14px;font-weight:600;letter-spacing:-.01em;transition:background .18s,color .18s,box-shadow .18s}.sidebar-nav .nav-item:hover{background:#ffffff0a;color:#fff}.sidebar-nav .nav-item.active{background:var(--active-bg);color:#fff;box-shadow:0 8px 20px #2f8cff29}.sidebar-nav .nav-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--sidebar-text);flex-shrink:0;transition:color .18s,transform .18s}.sidebar-nav .nav-icon svg{width:19px;height:19px}.sidebar-nav .nav-item:hover .nav-icon{color:#fff}.sidebar-nav .nav-item.active .nav-icon{background:transparent;border:none;color:var(--primary);filter:drop-shadow(0 0 6px rgba(47,140,255,.5))}.sidebar-nav .nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav .nav-badge{font-size:9px;font-weight:900;letter-spacing:.16em;padding:3px 7px;border-radius:999px;border:1px solid rgba(47,140,255,.2);background:#2f8cff1a;color:var(--primary)}.sidebar-collapse{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:#ffffff08;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.sidebar-collapse:hover{background:#ffffff14;color:#fff}.sidebar-collapse svg{width:18px;height:18px;transition:transform .22s}.app-layout.nav-collapsed .sidebar-collapse svg{transform:rotate(180deg)}.sidebar-collapse-row{display:flex;justify-content:flex-end;padding:0 4px 6px}.nav-logout{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:9px;border:1px solid rgba(255,107,122,.25);background:#ff6b7a1a;padding:11px;font-size:13px;font-weight:900;letter-spacing:.16em;color:#ffb3ba;cursor:pointer;transition:background .18s}.nav-logout svg{width:16px;height:16px}.nav-logout:hover{background:#ff6b7a2e}.sidebar-footer{padding:12px 14px;font-size:12px;border-top:1px solid var(--border);margin-top:12px}.main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.main-content{position:relative;flex:1;overflow-y:auto;padding:20px 24px 40px}.main-content-inner{max-width:1680px;margin:0 auto;display:flex;flex-direction:column;gap:28px;position:relative;z-index:1}.topbar{position:sticky;top:0;z-index:20;background:#06101e9e;-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border-bottom:1px solid var(--border);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar h1{font-size:20px;font-weight:700;letter-spacing:.02em;text-shadow:0 0 20px rgba(47,140,255,.25)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.topbar-time{display:flex;align-items:center;gap:12px;border-radius:10px;border:1px solid var(--border);background:#ffffff08;padding:8px 12px}.topbar-time-icon{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#2f8cff1f;color:var(--primary)}.topbar-time-icon svg{width:18px;height:18px}.topbar-time .tt-label{font-size:10px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}.topbar-time .tt-value{margin-top:3px;font-size:13px;font-weight:700;color:#fff}.topbar-icon-btn{width:40px;height:40px;border-radius:10px;border:1px solid transparent;background:#ffffff08;color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.topbar-icon-btn svg{width:18px;height:18px}.topbar-icon-btn:hover{border-color:var(--border);background:#ffffff0f;color:#fff}.topbar-icon-btn .dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 10px #ff6b7ab3}.topbar-user{display:flex;align-items:center;gap:10px;border-radius:10px;border:1px solid var(--border);background:#ffffff08;padding:6px 10px}.topbar-avatar{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent-alt));box-shadow:0 8px 20px #2f8cff4d}.topbar-user .tu-label{font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.topbar-user .tu-name{margin-top:2px;font-size:13px;font-weight:700;color:#fff}.topbar-divider{width:1px;height:28px;background:var(--border)}.content{padding:24px;flex:1}.nav-toggle{display:none;width:38px;height:38px;border-radius:10px;background:var(--glass);border:1px solid var(--border);color:var(--text);font-size:18px;cursor:pointer;align-items:center;justify-content:center}.nav-toggle:hover{box-shadow:var(--shadow-glow)}.nav-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#03081099;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:25}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:var(--card);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);border:1px solid var(--border-strong);border-radius:var(--radius-card);padding:40px;width:100%;max-width:420px;box-shadow:var(--shadow),var(--shadow-glow)}.auth-card h1{font-size:24px;margin-bottom:8px;text-align:center;text-shadow:0 0 22px rgba(47,140,255,.35)}.auth-card .subtitle{text-align:center;color:var(--text-muted);margin-bottom:28px;font-size:14px}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;width:100%;max-width:380px;margin:0 auto;background:var(--card);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:var(--shadow),var(--shadow-glow);color:var(--text)}.login-page h1{font-size:24px;text-shadow:0 0 22px rgba(47,140,255,.35)}.login-page .subtitle{color:var(--text-muted);font-size:14px;margin-bottom:8px}.login-page label{display:block;width:100%;font-size:13px;color:var(--text-muted);margin-bottom:10px}.login-page input,.login-page button{width:100%;margin-top:6px}.login-page .error{color:var(--danger);font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--card);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border-radius:var(--radius-card);padding:22px;box-shadow:var(--shadow);border:1px solid var(--border);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent-alt));opacity:.7}.stat-card:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow),var(--shadow-glow)}.stat-card .stat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stat-card .label{font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px}.stat-card .value{font-size:34px;font-weight:900;letter-spacing:-.02em;color:#fff;text-shadow:0 0 18px rgba(47,140,255,.25)}.stat-card .change{font-size:12px;margin-top:8px;color:var(--text-muted)}.stat-card .change.up{color:var(--success)}.stat-card .change.down{color:var(--danger)}.stat-card .stat-icon{width:46px;height:46px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(47,140,255,.2);background:#2f8cff1f;color:var(--primary);box-shadow:var(--shadow-glow)}.stat-card .stat-icon.success{border-color:#39d98a33;background:#39d98a1a;color:var(--success)}.stat-card .stat-icon.warning{border-color:#ffb64833;background:#ffb6481a;color:var(--warning)}.stat-card .stat-icon.gold{border-color:#d7a93a40;background:#d7a93a1f;color:#f7d26f}.stat-card .stat-icon svg{width:22px;height:22px}.stat-card .stat-bar{height:4px;border-radius:999px;background:#81beff1a;overflow:hidden;margin-top:16px}.stat-card .stat-bar>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent-alt))}.hero-banner{position:relative;overflow:hidden;border-radius:var(--radius-card);border:1px solid var(--border);background:radial-gradient(circle at top left,rgba(47,140,255,.2),transparent 34%),linear-gradient(135deg,#0f172af5,#132140eb,#081020f0);padding:28px;box-shadow:var(--shadow)}.hero-banner .hero-glow{position:absolute;top:-48px;right:-48px;width:192px;height:192px;border-radius:50%;background:#2f8cff24;filter:blur(60px);pointer-events:none}.hero-banner .hero-body{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px}.hero-banner .hero-eyebrow{font-size:12px;font-weight:900;letter-spacing:.32em;text-transform:uppercase;color:var(--primary)}.hero-banner h1{margin-top:10px;font-size:32px;font-weight:900;letter-spacing:-.02em;color:#fff}.hero-banner .hero-desc{margin-top:10px;max-width:640px;font-size:14px;color:var(--text-muted);line-height:1.6}.hero-banner .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.hero-banner .hero-date{border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;padding:9px 13px;font-size:12px;font-weight:700;color:#cbd5e1}.hero-banner .hero-date .hl{color:var(--primary);margin-right:8px}.panel{background:var(--card);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border-radius:var(--radius-card);border:1px solid var(--border);box-shadow:var(--shadow);margin-bottom:24px;overflow:hidden}.panel-header{padding:16px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:linear-gradient(180deg,rgba(47,140,255,.06),transparent)}.panel-header h2{font-size:16px;font-weight:700}.panel-body{padding:22px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}th{background:#2f8cff14;font-weight:600;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}tr:hover td{background:#2f8cff0f}td.mono{font-family:Consolas,SF Mono,monospace;font-size:13px;color:var(--accent-alt)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-group .hint{font-size:12px;color:var(--text-muted);margin-top:4px}input,select,textarea{width:100%;padding:10px 12px;background:#ffffff0a;border:1px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;color:var(--text);transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#89a6c78c}input:focus,select:focus,textarea:focus{outline:none;border-color:#2f8cffb8;box-shadow:0 0 0 4px #2f8cff24;background:#2f8cff0f}textarea{min-height:100px;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid transparent;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s,box-shadow .15s,transform .1s}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 8px 22px #2f8cff4d}.btn-primary:hover{box-shadow:0 10px 28px #2f8cff73}.btn-secondary{background:var(--glass);color:var(--text);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-secondary:hover{border-color:var(--border-strong);box-shadow:var(--shadow-glow)}.btn-danger{background:linear-gradient(135deg,var(--danger),#d94a5a);color:#fff;box-shadow:0 8px 22px #ff6b7a47}.btn-success{background:linear-gradient(135deg,var(--success),#26b673);color:#04130a;box-shadow:0 8px 22px #39d98a47}.btn-sm{padding:6px 12px;font-size:13px}.btn-group{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent}.badge-success{background:#39d98a29;color:var(--success);border-color:#39d98a4d}.badge-warning{background:#ffb64829;color:var(--warning);border-color:#ffb6484d}.badge-danger{background:#ff6b7a29;color:var(--danger);border-color:#ff6b7a4d}.badge-info{background:#5ab0ff29;color:var(--info);border-color:#5ab0ff4d}.badge-gray{background:#89a6c724;color:var(--text-muted);border-color:var(--border)}.badge-vip{background:#5ab0ff29;color:var(--info);border-color:#5ab0ff4d}.badge-svip{background:linear-gradient(135deg,#f0ca7038,#eab30824);color:var(--gold);border-color:#f0ca7066;font-weight:700}.pricing-matrix th{text-align:center;vertical-align:bottom}.pricing-matrix .th-sub{font-weight:400;font-size:11px;text-transform:none;letter-spacing:0;color:var(--text-muted)}.pricing-matrix td:first-child{background:#2f8cff0f}.matrix-cell{text-align:center;min-width:100px}.matrix-cell input[type=number]{width:80px;margin-bottom:6px;text-align:center}.matrix-cell label{display:block;font-size:12px;color:var(--text-muted);cursor:pointer}.matrix-cell label input{width:auto;margin-right:4px}.membership-card{border-radius:var(--radius-card);padding:20px;margin-bottom:20px;border:1px solid var(--border)}.membership-vip{background:linear-gradient(135deg,#2f8cff29,#3bffd00f);border-color:#2f8cff59}.membership-svip{background:linear-gradient(135deg,#f0ca702e,#eab3080f);border-color:#f0ca7066}.membership-tier-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.membership-expiry{font-size:15px;margin-bottom:4px}.section-title{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text-muted)}.entitlement-list{list-style:none;margin-bottom:16px}.entitlement-list li{padding:8px 0;border-bottom:1px solid var(--border);font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.entitlement-list li:last-child{border-bottom:none}.entitlement-list code{font-size:11px;background:#89a6c71f;padding:2px 6px;border-radius:4px;color:var(--text-muted)}.ent-icon{width:20px;text-align:center;font-weight:700}.entitlement-on .ent-icon{color:var(--success)}.entitlement-off{color:var(--text-muted)}.entitlement-off .ent-icon{color:#89a6c766}.upgrade-hint{font-size:12px;color:var(--warning);margin-left:auto}.upgrade-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffb6481a;border:1px solid rgba(255,182,72,.32);border-radius:var(--radius);padding:16px;margin-top:16px;flex-wrap:wrap}.json-block{margin-top:16px}.json-block summary{cursor:pointer;font-size:13px;color:var(--primary);margin-bottom:8px}.json-block pre{font-size:12px;background:#030810b3;color:#cfe3ff;padding:16px;border-radius:10px;border:1px solid var(--border);overflow-x:auto}.tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:20px;overflow-x:auto}.tab{padding:12px 20px;font-size:14px;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none;transition:color .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:24px}.chart-placeholder{background:var(--card);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px;min-height:260px;box-shadow:var(--shadow)}.chart-placeholder h3{font-size:14px;color:var(--text-muted);margin-bottom:16px}.chart-bars{display:flex;align-items:flex-end;gap:8px;height:180px;padding-top:20px}.chart-bar{flex:1;background:linear-gradient(to top,var(--primary),var(--accent-alt));border-radius:4px 4px 0 0;min-width:24px;position:relative;box-shadow:0 0 16px #2f8cff59}.chart-bar span{position:absolute;bottom:-22px;left:50%;transform:translate(-50%);font-size:11px;color:var(--text-muted);white-space:nowrap}.chart-line{height:160px}.chart-pie{width:140px;height:140px;border-radius:50%;margin:20px auto;background:conic-gradient(var(--primary) 0 35%,var(--success) 35% 58%,var(--warning) 58% 75%,var(--danger) 75% 88%,var(--text-muted) 88% 100%);box-shadow:0 0 24px #2f8cff4d}.hub{max-width:960px;margin:0 auto;padding:40px 24px}.hub-header{text-align:center;margin-bottom:40px}.hub-header h1{font-size:32px;margin-bottom:8px;text-shadow:0 0 24px rgba(47,140,255,.35)}.hub-header p{color:var(--text-muted)}.hub-section{margin-bottom:32px}.hub-section h2{font-size:18px;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--primary);display:inline-block}.hub-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.hub-link{display:block;background:var(--card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}.hub-link:hover{border-color:var(--primary);box-shadow:var(--shadow-glow);transform:translateY(-2px);text-decoration:none}.hub-link strong{display:block;margin-bottom:4px;color:var(--primary)}.hub-link span{font-size:13px;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#030810b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal{background:var(--card);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);border:1px solid var(--border-strong);border-radius:var(--radius-card);padding:32px;max-width:440px;width:100%;box-shadow:var(--shadow),var(--shadow-glow)}.modal h2{margin-bottom:12px}.modal p{color:var(--text-muted);margin-bottom:20px;font-size:14px}.modal-wide{max-width:560px}.flow-steps{display:flex;flex-direction:column;gap:16px}.flow-step{display:flex;gap:16px;align-items:flex-start;padding:16px;background:#2f8cff0f;border-radius:var(--radius);border-left:4px solid var(--primary)}.flow-step .num{width:32px;height:32px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;box-shadow:0 0 16px #2f8cff66}.flow-step h4{margin-bottom:4px}.flow-step p{font-size:13px;color:var(--text-muted)}.captcha-demo{background:#89a6c714;height:120px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px;margin:16px 0;position:relative;overflow:hidden;border:1px solid var(--border)}.captcha-slider{position:absolute;bottom:12px;left:12px;right:12px;height:36px;background:#091426cc;border:1px solid var(--border);border-radius:18px;display:flex;align-items:center;padding:0 4px}.captcha-knob{width:44px;height:28px;background:var(--primary);border-radius:14px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px}.policy-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.policy-option{border:2px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer;transition:border-color .15s,background .15s;background:var(--card-solid)}.policy-option:hover{border-color:#2f8cff80}.policy-option.selected{border-color:var(--primary);background:#2f8cff1f;box-shadow:var(--shadow-glow)}.policy-option input[type=radio]{margin-right:8px;vertical-align:middle;accent-color:var(--primary)}.policy-option h4{font-size:15px;margin-bottom:6px}.policy-option p{font-size:13px;color:var(--text-muted);margin:0;line-height:1.45}.policy-fields{max-width:520px}.policy-summary{background:#2f8cff0f;border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;font-size:13px;margin-top:16px;line-height:1.5}.tab-panel{display:none}.tab-panel.active{display:block}.profile-fields-summary{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:13px;padding:10px 14px;background:#2f8cff0f;border:1px solid var(--border);border-radius:var(--radius)}.profile-fields-table .label-en{color:var(--text-muted);font-size:13px}.profile-fields-table .input-sort{width:48px;padding:4px 6px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:#ffffff0a;color:var(--text)}.badge-type{background:#5ab0ff29;color:var(--info);border:1px solid rgba(90,176,255,.3);font-size:11px;font-weight:600}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1001;background:#03081099;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:var(--card);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);border-left:1px solid var(--border-strong);box-shadow:-16px 0 40px #0006;display:flex;flex-direction:column;animation:drawer-in .22s ease-out}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.drawer-header h2{font-size:18px}.drawer-body{padding:20px 24px;overflow-y:auto;flex:1}.profile-kv-list{margin:0}.profile-kv-item{padding:14px 0;border-bottom:1px solid var(--border)}.profile-kv-item:last-child{border-bottom:none}.profile-kv-item dt{font-weight:600;font-size:15px;margin-bottom:4px}.profile-kv-item dt .label-en{display:block;font-weight:400;font-size:12px;color:var(--text-muted);margin-top:2px}.profile-kv-item dd{font-size:12px;color:var(--text-muted);margin:0 0 6px}.profile-kv-value{font-size:14px;color:var(--text);word-break:break-all}.profile-kv-empty{color:var(--text-muted);font-style:italic}.profile-json-raw summary{cursor:pointer;font-size:13px;color:var(--primary);margin-bottom:8px}.profile-json-raw pre{font-family:Consolas,monospace;font-size:12px;background:#030810b3;border:1px solid var(--border);border-radius:var(--radius);padding:12px;overflow-x:auto;color:#cfe3ff}.avatar{width:36px;height:36px;border-radius:10px;background:#2f8cff33;display:inline-flex;align-items:center;justify-content:center;font-size:18px;vertical-align:middle;margin-right:8px;border:1px solid var(--border)}.avatar-img{object-fit:cover;padding:0;background:#09142699}.icon-upload{display:flex;gap:16px;align-items:flex-start}.icon-upload-box{position:relative;flex-shrink:0;width:96px;height:96px;border:2px dashed var(--border-strong);border-radius:14px;background:#09142699;padding:0;cursor:pointer;overflow:hidden;transition:border-color .15s,box-shadow .15s}.icon-upload-box:hover:not(:disabled){border-color:var(--primary);box-shadow:0 0 0 3px #2f8cff29}.icon-upload-box.uploading{opacity:.7;cursor:wait}.icon-upload-img{width:100%;height:100%;object-fit:cover;display:block}.icon-upload-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;color:var(--primary);background:#2f8cff29}.icon-upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#03081099;color:#fff;font-size:12px;font-weight:500;opacity:0;transition:opacity .15s}.icon-upload-box:hover .icon-upload-overlay,.icon-upload-box.uploading .icon-upload-overlay{opacity:1}.icon-upload-meta{flex:1;min-width:0}.icon-upload-label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--text)}.icon-upload-error{color:var(--danger);font-size:13px;margin:6px 0 0}.platform-icons{white-space:nowrap}.platform-icon{font-size:16px;margin-right:4px;cursor:default}.price-hint{display:block;font-size:11px;color:var(--text-muted);margin-top:2px}.price-discount{color:var(--warning)}.level-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;border:1px solid transparent}.level-l0{background:#89a6c724;color:var(--text-muted);border-color:var(--border)}.level-l1{background:#2f8cff29;color:var(--info);border-color:#2f8cff4d}.level-l2{background:#9d78ff2e;color:#b69bff;border-color:#9d78ff52}.level-l3{background:linear-gradient(135deg,#f0ca7038,#eab30824);color:var(--gold);border-color:#f0ca7066}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:12px 16px;background:var(--card-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius)}.bulk-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:10px 16px;background:#2f8cff1f;border:1px solid rgba(47,140,255,.32);border-radius:var(--radius);font-size:14px}.bulk-toolbar .bulk-count{color:var(--text-muted)}.pagination-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border)}.pagination{display:flex;align-items:center;gap:6px}.wizard-steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.wizard-step{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--card-solid);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--text-muted)}.wizard-step .step-num{width:24px;height:24px;border-radius:50%;background:#89a6c72e;color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.wizard-step.active{border-color:var(--primary);color:var(--primary);background:#2f8cff1f;box-shadow:var(--shadow-glow)}.wizard-step.active .step-num{background:var(--primary);color:#fff}.wizard-step.done{color:var(--success)}.wizard-step.done .step-num{background:var(--success);color:#04130a}.wizard-nav{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.metric-api{display:block;font-size:11px;font-weight:400;color:var(--text-muted);font-family:Consolas,monospace;margin-top:2px}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.dark-toggle{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer;color:var(--text-muted)}.dark-toggle input{accent-color:var(--primary)}@media(max-width:960px){.nav-toggle{display:inline-flex}.sidebar{position:fixed;top:0;left:0;bottom:0;transform:translate(-100%);transition:transform .22s ease;box-shadow:16px 0 40px #0006}.app-layout.nav-collapsed .sidebar{width:300px}.app-layout.nav-collapsed .sidebar-brand-text,.app-layout.nav-collapsed .sidebar-identity,.app-layout.nav-collapsed .sidebar-group-title,.app-layout.nav-collapsed .nav-label,.app-layout.nav-collapsed .nav-badge,.app-layout.nav-collapsed .dark-toggle,.app-layout.nav-collapsed .nav-logout .logout-text{display:revert}.app-layout.nav-collapsed .sidebar-brand-row{justify-content:flex-start}.app-layout.nav-collapsed .nav-item{justify-content:flex-start;padding:9px 11px}.app-layout.nav-collapsed .nav-logout{padding:11px}.sidebar-collapse-row{display:none}.app-layout.nav-open .sidebar{transform:none}.app-layout.nav-open .nav-backdrop{display:block}}@media(max-width:768px){.policy-options{grid-template-columns:1fr}.topbar{flex-wrap:wrap;padding:14px 16px}.topbar h1{font-size:18px}.topbar-time,.topbar-user .tu-meta,.topbar-divider{display:none}.content{padding:16px}.main-content{padding:16px 16px 32px}.stats-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:16px}.stat-card .value{font-size:26px}.stat-card .stat-icon{width:40px;height:40px}.stat-card .stat-icon svg{width:18px;height:18px}.charts-grid{grid-template-columns:1fr}.panel-body{padding:16px}.auth-card{padding:28px 22px}th,td{padding:10px 12px;font-size:13px}.modal{padding:24px 20px}.drawer{width:100vw}.hero-banner{padding:20px}.hero-banner h1{font-size:24px}}@media(max-width:480px){.stats-grid,.form-row{grid-template-columns:1fr}.sidebar-brand-text h1,.topbar h1{font-size:16px}.btn{padding:9px 14px}.content{padding:12px}.main-content{padding:12px 12px 28px}.panel-header{padding:14px 16px}.panel-body{padding:14px}.stat-card .stat-icon{width:38px;height:38px}}.ib-page{--ib-primary: #2f8cff;--ib-primary-dark: #1f6fd0;--ib-primary-rgb: 47, 140, 255;--ib-bg: rgba(9, 20, 38, .6);--ib-card: linear-gradient(180deg, rgba(13, 26, 47, .55), rgba(8, 17, 32, .42));--ib-card-solid: rgba(10, 22, 40, .5);--ib-border: rgba(129, 190, 255, .16);--ib-border-strong: rgba(129, 190, 255, .28);--ib-text: #f6fbff;--ib-text-muted: #89a6c7;--ib-success: #39d98a;--ib-danger: #ff6b7a;--ib-glass: rgba(9, 20, 38, .72);--ib-radius: 12px;--ib-shadow: 0 16px 40px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .05);--ib-shadow-glow: 0 0 0 1px rgba(47, 140, 255, .16), 0 16px 40px rgba(19, 95, 214, .22);color:var(--ib-text)}.ib-page .ib-panel{background:var(--ib-card);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border-radius:var(--ib-radius);border:1px solid var(--ib-border);box-shadow:var(--ib-shadow);margin-bottom:16px;overflow:hidden}.ib-page .ib-panel-header{padding:12px 16px;border-bottom:1px solid var(--ib-border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;background:linear-gradient(180deg,rgba(47,140,255,.08),transparent)}.ib-page .ib-panel-header h2{font-size:14px;font-weight:700;margin:0}.ib-page .ib-panel-header .hint{font-size:12px;color:var(--ib-text-muted);margin-top:2px}.ib-page .ib-panel-body{padding:14px 16px}.ib-page .ib-form-group{margin-bottom:12px}.ib-page .ib-form-group label{display:block;font-size:13px;font-weight:500;margin-bottom:5px}.ib-page .ib-form-group .hint{font-size:11px;color:var(--ib-text-muted);margin-top:4px}.ib-page .ib-req{color:var(--ib-danger)}.ib-page .ib-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.ib-page .ib-input,.ib-page .ib-select,.ib-page .ib-textarea{width:100%;padding:8px 10px;border:1px solid var(--ib-border);border-radius:8px;font-size:13px;font-family:inherit;background:#ffffff0a;color:var(--ib-text);transition:border-color .15s,box-shadow .15s,background .15s}.ib-page .ib-input:focus,.ib-page .ib-select:focus,.ib-page .ib-textarea:focus{outline:none;border-color:#2f8cffb8;box-shadow:0 0 0 3px #2f8cff24;background:#2f8cff0f}.ib-page .ib-input:disabled,.ib-page .ib-btn:disabled{opacity:.5;cursor:not-allowed}.ib-page .ib-textarea{min-height:auto;resize:vertical}.ib-page .ib-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s,box-shadow .15s,transform .1s}.ib-page .ib-btn:active{transform:translateY(1px)}.ib-page .ib-btn-primary{background:linear-gradient(135deg,var(--ib-primary),var(--ib-primary-dark));color:#fff;box-shadow:0 6px 18px #2f8cff4d}.ib-page .ib-btn-primary:hover:not(:disabled){box-shadow:0 8px 24px #2f8cff73}.ib-page .ib-btn-secondary{background:var(--ib-glass);color:var(--ib-text);border:1px solid var(--ib-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ib-page .ib-btn-secondary:hover:not(:disabled){border-color:var(--ib-border-strong);box-shadow:var(--ib-shadow-glow)}.ib-page .ib-btn-danger{background:linear-gradient(135deg,var(--ib-danger),#d94a5a);color:#fff;box-shadow:0 6px 18px #ff6b7a42}.ib-page .ib-btn-sm{padding:4px 10px;font-size:12px}.ib-page .ib-btn-group{display:flex;gap:6px;flex-wrap:wrap}.ib-page .ib-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.4;border:1px solid transparent}.ib-page .ib-badge-success{background:#39d98a29;color:var(--ib-success);border-color:#39d98a4d}.ib-page .ib-badge-warning{background:#ffb64829;color:#ffb648;border-color:#ffb6484d}.ib-page .ib-badge-info{background:#5ab0ff29;color:#5ab0ff;border-color:#5ab0ff4d}.ib-page .ib-badge-gray{background:#89a6c724;color:var(--ib-text-muted);border-color:var(--ib-border)}.ib-page .ib-alert{padding:10px 12px;border-radius:8px;font-size:12px;margin-bottom:12px}.ib-page .ib-alert-warning{background:#ffb6481a;border:1px solid rgba(255,182,72,.32);color:#ffb648}.ib-page .ib-alert-danger{background:#ff6b7a1a;border:1px solid rgba(255,107,122,.32);color:var(--ib-danger)}.ib-page .ib-alert-info{background:#2f8cff14;border:1px solid var(--ib-border);color:var(--ib-text-muted)}.ib-page .ib-empty{text-align:center;padding:28px 16px;color:var(--ib-text-muted);font-size:13px}.ib-page .ib-accordion{display:flex;flex-direction:column;gap:8px;padding:12px 16px 16px}.ib-page .ib-acc-item{border:1px solid var(--ib-border);border-radius:10px;background:var(--ib-card-solid);overflow:hidden;transition:border-color .15s,box-shadow .15s}.ib-page .ib-acc-item.open{border-color:#2f8cff80;box-shadow:0 0 0 2px #2f8cff1a}.ib-page .ib-acc-summary{width:100%;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 14px;background:#2f8cff0d;border:none;cursor:pointer;font-family:inherit;font-size:13px;text-align:left;color:var(--ib-text)}.ib-page .ib-acc-summary:hover{background:#2f8cff1a}.ib-page .ib-acc-chevron{width:16px;color:var(--ib-text-muted);transition:transform .15s;flex-shrink:0;font-size:11px}.ib-page .ib-acc-item.open .ib-acc-chevron{transform:rotate(90deg);color:var(--ib-primary)}.ib-page .ib-acc-name{font-weight:600;flex:1;min-width:100px}.ib-page .ib-acc-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ib-page .ib-acc-body{display:none;padding:14px 16px 16px;border-top:1px solid var(--ib-border)}.ib-page .ib-acc-item.open .ib-acc-body{display:block}.ib-page .ib-acc-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.ib-page .ib-flow-steps{display:flex;flex-direction:column;gap:8px}.ib-page .ib-flow-step{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:#2f8cff0f;border-radius:8px;border-left:3px solid var(--ib-primary)}.ib-page .ib-flow-step .num{width:22px;height:22px;background:linear-gradient(135deg,var(--ib-primary),var(--ib-primary-dark));color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;font-size:11px;box-shadow:0 0 12px #2f8cff66}.ib-page .ib-flow-step h4{margin-bottom:1px;font-size:13px}.ib-page .ib-flow-step p{font-size:11px;color:var(--ib-text-muted);margin:0}.ib-page .ib-page-dropzone{border:1.5px dashed rgba(129,190,255,.4);border-radius:12px;padding:22px 16px;text-align:center;background:var(--ib-card-solid);color:var(--ib-text-muted);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;margin-bottom:14px;box-shadow:var(--ib-shadow)}.ib-page .ib-page-dropzone:hover,.ib-page .ib-page-dropzone.dragover{border-color:var(--ib-primary);background:#2f8cff14;color:var(--ib-primary);box-shadow:0 0 0 3px #2f8cff1f}.ib-page .ib-page-dropzone.disabled{opacity:.55;cursor:not-allowed;pointer-events:none;border-style:solid;background:#09142680}.ib-page .ib-page-dropzone .dz-icon{width:36px;height:36px;margin:0 auto 8px;border-radius:10px;background:#2f8cff1f;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--ib-primary)}.ib-page .ib-page-dropzone:hover .dz-icon,.ib-page .ib-page-dropzone.dragover .dz-icon{background:#2f8cff33;color:var(--ib-primary)}.ib-page .ib-page-dropzone strong{display:block;font-size:14px;margin-bottom:4px;color:inherit}.ib-page .ib-page-dropzone .hint{font-size:12px}.ib-page .ib-filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--ib-border);font-size:12px;background:#2f8cff0d}.ib-page .ib-filter-bar>span{font-weight:500;color:var(--ib-text-muted)}.ib-page .ib-table-wrap{overflow-x:auto}.ib-page table.ib-compact{width:100%;border-collapse:collapse;font-size:13px}.ib-page table.ib-compact th,.ib-page table.ib-compact td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--ib-border);vertical-align:middle}.ib-page table.ib-compact th{background:#2f8cff14;font-weight:600;color:var(--ib-text-muted);font-size:11px;letter-spacing:.02em;white-space:nowrap;text-transform:none}.ib-page table.ib-compact tbody tr:hover td{background:#2f8cff0f}.ib-page .ib-mono{font-family:Consolas,ui-monospace,monospace;font-size:12px;color:#3bffd0}.ib-page .ib-name-hover{font-weight:500;color:var(--ib-text);cursor:default;border-bottom:1px dashed transparent}.ib-page .ib-name-hover:hover{color:var(--ib-primary);border-bottom-color:#2f8cff80}.ib-page .ib-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:12px;font-size:12px;color:var(--ib-text-muted)}.ib-page .ib-radio-row{display:inline-flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.ib-page .ib-radio-row label{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;cursor:pointer;color:var(--ib-text);margin:0;white-space:nowrap}.ib-page .ib-radio-row input[type=radio]{width:auto;margin:0;accent-color:var(--ib-primary);cursor:pointer}.ib-page .ib-radio-seg{display:inline-flex;border:1px solid var(--ib-border);border-radius:8px;overflow:hidden;background:var(--ib-glass)}.ib-page .ib-radio-seg label{padding:5px 11px;font-size:12px;font-weight:500;cursor:pointer;border-right:1px solid var(--ib-border);margin:0;color:var(--ib-text-muted);background:transparent;transition:background .12s,color .12s}.ib-page .ib-radio-seg label:last-child{border-right:none}.ib-page .ib-radio-seg input{display:none}.ib-page .ib-radio-seg label:has(input:checked){background:#2f8cff33;color:#fff;font-weight:600}.ib-page .ib-switch{position:relative;width:34px;height:18px;display:inline-block;vertical-align:middle}.ib-page .ib-switch input{opacity:0;width:0;height:0}.ib-page .ib-switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:#89a6c74d;border-radius:999px;cursor:pointer;transition:.15s}.ib-page .ib-switch span:before{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;background:#f6fbff;border-radius:50%;transition:.15s}.ib-page .ib-switch input:checked+span{background:var(--ib-primary);box-shadow:0 0 12px #2f8cff80}.ib-page .ib-switch input:checked+span:before{transform:translate(16px)}.ib-page .ib-json-block{background:#030810b3;color:#cfe3ff;padding:12px 14px;border-radius:8px;font-size:11px;overflow-x:auto;line-height:1.55;font-family:Consolas,monospace;white-space:pre;border:1px solid var(--ib-border)}.ib-page .ib-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.ib-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#030810b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:1000}.ib-modal-overlay.open{display:flex}.ib-modal{background:linear-gradient(180deg,#0d1a2ff5,#081120eb);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);border:1px solid var(--ib-border-strong);border-radius:16px;padding:22px;max-width:480px;width:92%;box-shadow:var(--ib-shadow),var(--ib-shadow-glow);max-height:90vh;overflow-y:auto;color:var(--ib-text)}.ib-modal h2{margin-bottom:4px;font-size:16px}.ib-modal .ib-sub{color:var(--ib-text-muted);font-size:12px;margin-bottom:14px}.ib-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#03081099;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:none;z-index:1100;justify-content:flex-end}.ib-drawer-overlay.open{display:flex}.ib-drawer{width:min(480px,100%);background:linear-gradient(180deg,#0d1a2ff5,#081120eb);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);border-left:1px solid var(--ib-border-strong);height:100%;box-shadow:-16px 0 40px #0006;padding:20px;overflow-y:auto;color:var(--ib-text)}.ib-drawer h2{font-size:16px;margin-bottom:6px}.ib-drawer .ib-json-block{background:#030810b3;color:#cfe3ff;padding:12px 14px;border-radius:8px;font-size:11px;overflow-x:auto;line-height:1.55;font-family:Consolas,monospace;white-space:pre;border:1px solid var(--ib-border)}.ib-img-float{position:fixed;z-index:1300;pointer-events:none;display:none;padding:6px;background:#091426eb;border:1px solid var(--ib-border-strong);border-radius:10px;box-shadow:0 12px 32px #0006;max-width:min(420px,70vw);max-height:min(320px,50vh);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ib-img-float.show{display:block}.ib-img-float img{display:block;max-width:400px;max-height:300px;width:auto;height:auto;border-radius:6px;object-fit:contain}.ib-img-float.portrait img{max-width:200px;max-height:320px}.ib-toast{position:fixed;bottom:20px;right:20px;z-index:1200;background:#091426f2;color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;box-shadow:0 10px 30px #0006;border:1px solid var(--ib-border-strong);display:none}.ib-toast.show{display:block}.ib-upload-preview{display:flex;gap:12px;align-items:center;margin-bottom:12px;padding:10px;background:#2f8cff0f;border-radius:8px;border:1px solid var(--ib-border)}.ib-upload-preview img{width:72px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--ib-border)}.ib-upload-steps{display:flex;gap:6px;margin-bottom:12px;font-size:11px;color:var(--ib-text-muted)}.ib-upload-steps .step{padding:3px 8px;border-radius:999px;background:#89a6c71f}.ib-upload-steps .step.on{background:#2f8cff33;color:var(--ib-primary);font-weight:600}.ib-upload-steps .step.done{background:#39d98a29;color:var(--ib-success)}.ib-modal .ib-form-group{margin-bottom:12px}.ib-modal .ib-form-group label{display:block;font-size:13px;font-weight:500;margin-bottom:5px;color:var(--ib-text)}.ib-modal .ib-input,.ib-modal .ib-textarea{width:100%;padding:8px 10px;border:1px solid var(--ib-border);border-radius:8px;font-size:13px;font-family:inherit;background:#ffffff0a;color:var(--ib-text)}.ib-modal .ib-input:focus,.ib-modal .ib-textarea:focus{outline:none;border-color:var(--ib-primary);box-shadow:0 0 0 3px #2f8cff24}.ib-modal .ib-radio-row{display:inline-flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.ib-modal .ib-radio-row label{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;cursor:pointer;margin:0;color:var(--ib-text)}.ib-modal .ib-radio-row input[type=radio]{width:auto;margin:0;accent-color:var(--ib-primary)}.ib-modal .ib-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.ib-modal .ib-btn-primary{background:linear-gradient(135deg,var(--ib-primary),var(--ib-primary-dark));color:#fff}.ib-modal .ib-btn-primary:hover:not(:disabled){box-shadow:0 8px 24px #2f8cff73}.ib-modal .ib-btn-secondary{background:var(--ib-glass);color:var(--ib-text);border:1px solid var(--ib-border)}.ib-modal .ib-btn:disabled{opacity:.5;cursor:not-allowed}.ib-modal .ib-btn-group{display:flex;gap:6px;flex-wrap:wrap}.ib-modal .ib-req{color:var(--ib-danger)}.ib-modal .ib-mono{font-family:Consolas,ui-monospace,monospace;font-size:12px;color:#3bffd0}.ib-modal .hint{font-size:11px;color:var(--ib-text-muted)}.ib-drawer .ib-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid transparent;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.ib-drawer .ib-btn-secondary{background:var(--ib-glass);color:var(--ib-text);border:1px solid var(--ib-border)}
