:root{--wh-indigo:#3b82f6;--wh-indigo-hover:#2563eb;--wh-indigo-light:#60a5fa;--wh-indigo-muted:#3b82f61a;--wh-indigo-shadow:#2563eb40;--wh-accent-gradient:linear-gradient(180deg,#60a5fa 0%,#3b82f6 100%);--wh-ring:#3b82f666;--wh-bg:#f8fafc;--wh-bg-secondary:#f1f5f9;--wh-surface:#fff;--wh-surface-glass:#fffc;--wh-surface-hover:#0f172a0a;--wh-surface-active:#0f172a14;--wh-border:#0f172a14;--wh-border-strong:#0f172a26;--wh-border-subtle:#0f172a0a;--wh-divider:#0f172a0f;--wh-text:#0f172a;--wh-text-secondary:#334155;--wh-text-muted:#64748b;--wh-text-inverse:#fff;--wh-success:#10b981;--wh-success-light:#10b9811f;--wh-warning:#f59e0b;--wh-warning-light:#f59e0b1f;--wh-error:#ef4444;--wh-error-light:#ef44441f;--wh-font:"Open Sans","Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--wh-font-mono:"JetBrains Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--wh-radius-sm:6px;--wh-radius-md:8px;--wh-radius-lg:12px;--wh-radius-xl:16px;--wh-radius-full:9999px;--wh-topbar-height:48px;--wh-ctrl-md:32px;--wh-ctrl-sm:24px;--wh-blur:blur(16px)saturate(180%);--wh-blur-light:blur(8px)saturate(150%);--wh-shadow-sm:0 1px 2px 0 #0000000d;--wh-shadow-md:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;--wh-shadow-lg:0 10px 15px -3px #0000000d,0 4px 6px -4px #0000000d;--wh-shadow-xl:0 20px 25px -5px #0000000d,0 8px 10px -6px #0000000d;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;line-height:1.5}[data-theme=dark]{--wh-bg:#09090b;--wh-bg-secondary:#18181b;--wh-surface:#18181b;--wh-surface-glass:#18181bd9;--wh-surface-hover:#ffffff0f;--wh-surface-active:#ffffff1a;--wh-border:#ffffff1a;--wh-border-strong:#ffffff26;--wh-border-subtle:#ffffff0d;--wh-divider:#ffffff14;--wh-text:#f8fafc;--wh-text-secondary:#cbd5e1;--wh-text-muted:#94a3b8;--wh-shadow-sm:0 1px 2px 0 #0000004d;--wh-shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -2px #0000004d;--wh-shadow-lg:0 10px 15px -3px #0006,0 4px 6px -4px #0006;--wh-shadow-xl:0 20px 25px -5px #00000080,0 8px 10px -6px #00000080}@keyframes wh-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes wh-slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes wh-slideDown{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes wh-slideInRight{0%{opacity:.5;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes wh-blurIn{0%{opacity:0;filter:blur(8px);transform:scale(.98)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes wh-scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes wh-scaleFadeInCenter{0%{opacity:0;transform:translate(-50%,-48%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.wh-btn{border-radius:var(--wh-radius-full);font-family:var(--wh-font);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:13px;font-weight:500;line-height:1;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.wh-btn:active{transform:scale(.97)}.wh-btn:focus-visible{box-shadow:0 0 0 2px var(--wh-surface),0 0 0 4px var(--wh-ring)}.wh-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.wh-btn-primary{background:var(--wh-accent-gradient);color:var(--wh-text-inverse);box-shadow:inset 0 1px 1px #fff3,0 2px 4px var(--wh-indigo-shadow);border:1px solid #ffffff1a;font-weight:600}.wh-btn-primary:hover{background:linear-gradient(180deg,var(--wh-indigo-light)0%,var(--wh-indigo-hover)100%);box-shadow:inset 0 1px 1px #fff3,0 4px 8px var(--wh-indigo-shadow)}.wh-btn-success{background:linear-gradient(180deg,#34d399 0%,var(--wh-success)100%);color:var(--wh-text-inverse);border:1px solid #ffffff1a;font-weight:600;box-shadow:inset 0 1px 1px #fff3,0 2px 4px #10b98133}.wh-btn-success:hover{background:linear-gradient(#10b981 0%,#059669 100%);box-shadow:inset 0 1px 1px #fff3,0 4px 8px #10b9814d}.wh-btn-danger{background:linear-gradient(180deg,#f87171 0%,var(--wh-error)100%);color:var(--wh-text-inverse);border:1px solid #ffffff1a;font-weight:600;box-shadow:inset 0 1px 1px #fff3,0 2px 4px #ef444433}.wh-btn-danger:hover{background:linear-gradient(#ef4444 0%,#dc2626 100%);box-shadow:inset 0 1px 1px #fff3,0 4px 8px #ef44444d}.wh-btn-ghost{color:var(--wh-text-secondary);border:1px solid var(--wh-border-strong);box-shadow:var(--wh-shadow-sm);background:0 0}.wh-btn-ghost:hover{background:var(--wh-surface-hover);color:var(--wh-text);border-color:var(--wh-border-strong)}.wh-btn-subtle{color:var(--wh-text-secondary);box-shadow:none;background:0 0}.wh-btn-subtle:hover{background:var(--wh-surface-hover);color:var(--wh-text)}.wh-btn-pill{border-radius:var(--wh-radius-full);padding:0 16px}.wh-btn-outlined{background:var(--wh-surface);color:var(--wh-text-secondary);border:1px solid var(--wh-border-strong);box-shadow:var(--wh-shadow-sm)}.wh-btn-outlined:hover{background:var(--wh-surface-hover);border-color:var(--wh-indigo);color:var(--wh-indigo)}.wh-btn-primary-pill{background:var(--wh-accent-gradient);color:var(--wh-text-inverse);border-radius:var(--wh-radius-full);box-shadow:inset 0 1px 1px #fff3,0 2px 6px var(--wh-indigo-shadow);border:1px solid #ffffff1a;gap:6px;height:32px;padding:0 12px 0 16px;font-size:13px;font-weight:600}.wh-btn-primary-pill:hover{background:linear-gradient(180deg,var(--wh-indigo-light)0%,var(--wh-indigo-hover)100%);box-shadow:inset 0 1px 1px #fff3,0 4px 12px var(--wh-indigo-shadow)}.wh-btn-primary-pill .wh-btn-divider{background:#ffffff40;width:1px;height:20px;margin:0 2px}.wh-btn-sm{height:32px;padding:0 10px;font-size:12px}.wh-btn-lg{height:32px;padding:0 18px;font-size:14px}.wh-btn-icon{justify-content:center;width:32px;padding:0}.wh-btn-icon.wh-btn-sm{width:32px}button:not(.wh-checkbox):not(.wh-radio):not(.wh-tabs-trigger):not(.wh-select-trigger):not(.wh-dropdown-item):not(.wh-request-item):not([role=checkbox]):not([role=radio]):not([role=tab]):not([role=combobox]):not([role=menuitem]):not([role=menuitemcheckbox]):not([role=menuitemradio]):not([role=option]){border-radius:var(--wh-radius-full)!important}.wh-badge{border-radius:var(--wh-radius-full);font-family:var(--wh-font);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.2;display:inline-flex}.wh-badge-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.wh-badge-neutral{background:var(--wh-surface-hover);color:var(--wh-text-secondary);border-color:var(--wh-border-subtle)}.wh-badge-neutral .wh-badge-dot{background:var(--wh-text-muted)}.wh-badge-success{background:var(--wh-success-light);color:var(--wh-success);border-color:#10b98133}.wh-badge-success .wh-badge-dot{background:var(--wh-success)}.wh-badge-warning{background:var(--wh-warning-light);color:var(--wh-warning);border-color:#f59e0b33}.wh-badge-warning .wh-badge-dot{background:var(--wh-warning)}.wh-badge-error{background:var(--wh-error-light);color:var(--wh-error);border-color:#ef444433}.wh-badge-error .wh-badge-dot{background:var(--wh-error)}.wh-badge-info{background:var(--wh-indigo-muted);color:var(--wh-indigo);border-color:#3b82f633}.wh-badge-info .wh-badge-dot{background:var(--wh-indigo)}.wh-badge:has(>.wh-badge-dot){background:var(--wh-surface-hover);color:var(--wh-text-secondary);border-color:var(--wh-border-subtle)}.wh-count{font-family:var(--wh-font);background:var(--wh-surface-hover);color:var(--wh-text-secondary);border:1px solid var(--wh-border-subtle);border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.wh-card{background:var(--wh-surface);border:1px solid var(--wh-border);border-radius:var(--wh-radius-lg);box-shadow:var(--wh-shadow-sm);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.wh-card-shadow:hover{box-shadow:var(--wh-shadow-lg);border-color:var(--wh-border-strong);transform:translateY(-2px)}.wh-card-header{border-bottom:1px solid var(--wh-border-subtle);padding:20px 24px 16px}.wh-card-body{padding:24px}.wh-card-footer{border-top:1px solid var(--wh-border-subtle);background:var(--wh-bg-secondary);padding:16px 24px}.wh-input-wrap{border:1px solid var(--wh-border-strong);border-radius:var(--wh-radius-md);background:var(--wh-surface);box-shadow:var(--wh-shadow-sm);align-items:center;gap:8px;height:36px;padding:0 12px;transition:border-color .2s,box-shadow .2s;display:flex}.wh-input-wrap:focus-within{border-color:var(--wh-indigo);box-shadow:0 0 0 3px var(--wh-ring)}.wh-input{font-family:var(--wh-font);color:var(--wh-text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.wh-input::placeholder{color:var(--wh-text-muted)}.wh-input:disabled{color:var(--wh-text-muted);cursor:not-allowed}.wh-input-wrap:has(.wh-input:disabled){background:var(--wh-surface-hover);box-shadow:none}.wh-textarea-wrap{border:1px solid var(--wh-border-strong);border-radius:var(--wh-radius-md);background:var(--wh-surface);box-shadow:var(--wh-shadow-sm);transition:border-color .2s,box-shadow .2s;overflow:hidden}.wh-textarea-wrap:focus-within{border-color:var(--wh-indigo);box-shadow:0 0 0 3px var(--wh-ring)}.wh-textarea{font-family:var(--wh-font);color:var(--wh-text);resize:vertical;background:0 0;border:none;outline:none;width:100%;min-height:96px;padding:10px 12px;font-size:13px;line-height:1.5;display:block}.wh-textarea::placeholder{color:var(--wh-text-muted)}.wh-date-input,.wh-time-input{position:relative}.wh-date-input .wh-input,.wh-time-input .wh-input{cursor:pointer}.wh-date-input .wh-input::-webkit-calendar-picker-indicator,.wh-time-input .wh-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;filter:invert(var(--theme-invert,0));transition:opacity .2s}[data-theme=dark]{--theme-invert:1}.wh-date-input .wh-input::-webkit-calendar-picker-indicator:hover,.wh-time-input .wh-input::-webkit-calendar-picker-indicator:hover{opacity:1}.wh-tabs-list{border-bottom:1px solid var(--wh-divider);align-items:center;gap:16px;display:flex}.wh-tabs-trigger{font-family:var(--wh-font);color:var(--wh-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;outline:none;align-items:center;gap:8px;padding:10px 4px;font-size:13px;font-weight:500;transition:color .2s;display:flex;position:relative}.wh-tabs-trigger:after{content:"";background:0 0;border-radius:2px 2px 0 0;height:2px;transition:background-color .2s;position:absolute;bottom:-1px;left:0;right:0}.wh-tabs-trigger:hover{color:var(--wh-text)}.wh-tabs-trigger[data-state=active]{color:var(--wh-indigo);font-weight:600}.wh-tabs-trigger[data-state=active]:after{background:var(--wh-indigo)}.wh-tabs-trigger:focus-visible{box-shadow:0 0 0 2px var(--wh-ring);border-radius:4px}.wh-dropdown-content{background:var(--wh-surface);border:1px solid var(--wh-border);border-radius:var(--wh-radius-lg);box-shadow:var(--wh-shadow-lg);z-index:10050;min-width:220px;padding:6px;animation:.2s cubic-bezier(.16,1,.3,1) wh-slideDown}.wh-dropdown-content--match-trigger{width:var(--radix-dropdown-menu-trigger-width);min-width:0}.wh-dropdown-item{border-radius:var(--wh-radius-sm);font-family:var(--wh-font);color:var(--wh-text);cursor:pointer;box-sizing:border-box;background:0 0;border:none;outline:none;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;font-weight:500;transition:background-color .1s,color .1s;display:flex}.wh-dropdown-item:hover,.wh-dropdown-item[data-highlighted]{background:var(--wh-surface-hover);color:var(--wh-text)}.wh-dropdown-item-danger{color:var(--wh-error)}.wh-dropdown-item-danger:hover,.wh-dropdown-item-danger[data-highlighted]{background:var(--wh-error-light);color:var(--wh-error)}.wh-dropdown-separator{background:var(--wh-divider);height:1px;margin:6px -6px}.wh-dropdown-label{font-family:var(--wh-font);text-transform:uppercase;letter-spacing:.5px;color:var(--wh-text-muted);padding:8px 10px 4px;font-size:11px;font-weight:600}.wh-dialog-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);background:#0f172a66;animation:.3s cubic-bezier(.16,1,.3,1) wh-fadeIn;position:fixed;inset:0}.wh-dialog-content{background:var(--wh-surface);border-left:1px solid var(--wh-border);z-index:10001;outline:none;flex-direction:column;width:600px;max-width:100vw;animation:.4s cubic-bezier(.16,1,.3,1) wh-slideInRight;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-20px 0 60px #00000026}.wh-dialog-header{border-bottom:1px solid var(--wh-divider);background:var(--wh-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.wh-dialog-title{font-family:var(--wh-font);color:var(--wh-text);letter-spacing:-.02em;margin:0;font-size:18px;font-weight:600}.wh-dialog-body{flex:1;min-height:0;padding:24px;overflow-y:auto}.wh-dialog-footer{border-top:1px solid var(--wh-divider);background:var(--wh-bg-secondary);flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.wh-dialog-footer .wh-btn{height:32px;padding:0 16px;font-size:14px}.wh-dialog-center{background:var(--wh-surface);border:1px solid var(--wh-border);border-radius:var(--wh-radius-xl);box-shadow:var(--wh-shadow-xl);z-index:10001;outline:none;flex-direction:column;width:560px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);animation:.3s cubic-bezier(.16,1,.3,1) wh-scaleFadeInCenter;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.wh-dialog-center.wh-dialog-center--wide{width:min(1024px,95vw)}.wh-avatar{border-radius:var(--wh-radius-full);background:var(--wh-surface-hover);border:1px solid var(--wh-border-subtle);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.wh-avatar img{object-fit:cover;width:100%;height:100%}.wh-avatar-fallback{font-family:var(--wh-font);background:var(--wh-indigo-muted);color:var(--wh-indigo);text-transform:uppercase;justify-content:center;align-items:center;width:100%;height:100%;font-size:12px;font-weight:600;display:flex}.wh-stats{border:1px solid var(--wh-border);border-radius:var(--wh-radius-lg);background:var(--wh-surface);box-shadow:var(--wh-shadow-sm);align-items:center;display:flex;overflow:hidden}.wh-stats-item{flex:1;align-items:center;gap:12px;padding:16px 20px;transition:background-color .2s;display:flex;position:relative}.wh-stats-item:hover{background:var(--wh-surface-hover)}.wh-stats-item+.wh-stats-item:before{content:"";background:var(--wh-divider);width:1px;position:absolute;top:24px;bottom:24px;left:0}.wh-stats-icon{border-radius:var(--wh-radius-md);background:var(--wh-indigo-muted);color:var(--wh-indigo);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.wh-stats-data{flex-direction:column;gap:2px;min-width:0;display:flex}.wh-stats-value{font-family:var(--wh-font);color:var(--wh-text);letter-spacing:-.02em;font-size:20px;font-weight:700;line-height:1}.wh-stats-label{font-family:var(--wh-font);color:var(--wh-text-muted);font-size:12px;font-weight:500;line-height:1}.wh-table-toolbar{border-bottom:1px solid var(--wh-divider);background:var(--wh-surface);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.wh-table-toolbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.wh-table-wrapper{border-radius:var(--wh-radius-md);border:1px solid var(--wh-border);overflow-x:auto}.wh-table{border-collapse:collapse;text-align:left;width:100%}.wh-table-row{transition:background-color .1s}.wh-table-row:hover{background:var(--wh-surface-hover)}.wh-table-striped .wh-table-row:nth-child(2n){background:#0f172a05}.wh-table-header-cell{font-family:var(--wh-font);color:var(--wh-text-secondary);border-bottom:1px solid var(--wh-border-strong);white-space:nowrap;background:var(--wh-bg-secondary);padding:12px 16px;font-size:12px;font-weight:600}.wh-table-cell{font-family:var(--wh-font);color:var(--wh-text);border-bottom:1px solid var(--wh-divider);padding:12px 16px;font-size:13px}.wh-table-cell-mono{font-family:var(--wh-font-mono);font-size:13px}.wh-table-cell-right{text-align:right}.wh-table-cell-center{text-align:center}.wh-table-cell-muted{color:var(--wh-text-muted)}.wh-toast-wrap{z-index:10100;pointer-events:none;justify-content:center;width:100%;min-width:0;padding:0 24px;display:flex;position:fixed;bottom:32px;left:0;right:0}.wh-toast{border-radius:var(--wh-radius-lg);background:var(--wh-text);color:var(--wh-text-inverse);font-family:var(--wh-font);text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:normal;pointer-events:auto;align-items:center;gap:12px;width:auto;max-width:480px;padding:12px 20px;font-size:14px;font-weight:500;line-height:1.5;animation:.3s cubic-bezier(.16,1,.3,1) wh-slideUp;display:flex;box-shadow:0 10px 25px -5px #0003}[data-theme=dark] .wh-toast{color:#000;background:#fff}.wh-switch{border-radius:var(--wh-radius-full);background:var(--wh-border-strong);cursor:pointer;border:none;outline:none;flex-shrink:0;align-items:center;width:40px;height:24px;padding:2px;transition:background-color .2s,box-shadow .2s;display:inline-flex}.wh-switch[data-state=checked]{background:var(--wh-indigo)}.wh-switch:focus-visible{box-shadow:0 0 0 2px var(--wh-surface),0 0 0 4px var(--wh-ring)}.wh-switch-thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s cubic-bezier(.16,1,.3,1);display:block;box-shadow:0 2px 4px #0003}.wh-switch[data-state=checked] .wh-switch-thumb{transform:translate(16px)}.wh-tooltip{border-radius:var(--wh-radius-md);background:var(--wh-text);color:var(--wh-text-inverse);font-family:var(--wh-font);z-index:10500;pointer-events:none;box-shadow:var(--wh-shadow-md);max-width:280px;padding:6px 12px;font-size:12px;font-weight:500;line-height:1.4;animation:.2s wh-fadeIn}.wh-tooltip-arrow{fill:var(--wh-text)}.wh-select-trigger{border:1px solid var(--wh-border-strong);border-radius:var(--wh-radius-md);background:var(--wh-surface);font-family:var(--wh-font);color:var(--wh-text);cursor:pointer;box-shadow:var(--wh-shadow-sm);outline:none;justify-content:space-between;align-items:center;gap:8px;min-width:140px;height:36px;padding:0 12px;font-size:13px;font-weight:500;transition:border-color .2s,box-shadow .2s;display:inline-flex}.wh-select-trigger:hover{border-color:var(--wh-border-strong);background:var(--wh-surface-hover)}.wh-select-trigger:focus-visible,.wh-select-trigger[data-state=open]{border-color:var(--wh-indigo);box-shadow:0 0 0 3px var(--wh-ring)}.wh-select-trigger[data-placeholder]{color:var(--wh-text-muted);font-weight:400}.wh-select-icon{color:var(--wh-text-muted);flex-shrink:0}.wh-select-content{min-width:var(--radix-select-trigger-width);background:var(--wh-surface);border:1px solid var(--wh-border);border-radius:var(--wh-radius-md);box-shadow:var(--wh-shadow-lg);z-index:10050;padding:6px;animation:.2s cubic-bezier(.16,1,.3,1) wh-slideDown;overflow:hidden}.wh-select-viewport{max-height:300px;overflow-y:auto}.wh-select-item{border-radius:var(--wh-radius-sm);font-family:var(--wh-font);color:var(--wh-text);cursor:pointer;outline:none;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:500;transition:background-color .1s;display:flex}.wh-select-item[data-highlighted]{background:var(--wh-surface-hover)}.wh-select-item[data-state=checked]{color:var(--wh-indigo);font-weight:600}.wh-select-item-indicator{color:var(--wh-indigo);justify-content:center;align-items:center;width:16px;display:flex}.wh-checkbox{border:1px solid var(--wh-border-strong);background:var(--wh-surface);cursor:pointer;border-radius:4px;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:inset 0 1px 2px #0000000d}.wh-checkbox:hover{border-color:var(--wh-indigo-light)}.wh-checkbox:focus-visible{border-color:var(--wh-indigo);box-shadow:0 0 0 3px var(--wh-ring)}.wh-checkbox[data-state=checked],.wh-checkbox[data-state=indeterminate]{background:var(--wh-indigo);border-color:var(--wh-indigo)}.wh-checkbox-indicator{color:#fff;justify-content:center;align-items:center;display:flex}.wh-checkbox-label{font-family:var(--wh-font);color:var(--wh-text);cursor:pointer;user-select:none;align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.wh-field{flex-direction:column;gap:6px;display:flex}.wh-field-label{font-family:var(--wh-font);color:var(--wh-text);font-size:13px;font-weight:600}.wh-field-required:after{content:" *";color:var(--wh-error)}.wh-field-hint{font-family:var(--wh-font);color:var(--wh-text-muted);font-size:12px}.wh-field-error{font-family:var(--wh-font);color:var(--wh-error);font-size:12px;font-weight:500}.wh-field-error-input .wh-input-wrap,.wh-field-error-input .wh-textarea-wrap,.wh-field-error-input .wh-select-trigger{border-color:var(--wh-error)}.wh-field-error-input .wh-input-wrap:focus-within,.wh-field-error-input .wh-textarea-wrap:focus-within,.wh-field-error-input .wh-select-trigger:focus-visible{box-shadow:0 0 0 3px var(--wh-error-light)}.wh-progress{border-radius:var(--wh-radius-full);background:var(--wh-surface-hover);width:100%;height:8px;overflow:hidden}.wh-progress-bar{border-radius:var(--wh-radius-full);background:var(--wh-indigo);height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}.wh-progress-success .wh-progress-bar{background:var(--wh-success)}.wh-progress-warning .wh-progress-bar{background:var(--wh-warning)}.wh-progress-error .wh-progress-bar{background:var(--wh-error)}.wh-progress-sm{height:4px}.wh-progress-lg{height:12px}@keyframes wh-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.wh-skeleton{border-radius:var(--wh-radius-sm);background:linear-gradient(90deg,var(--wh-surface-hover)25%,var(--wh-border)50%,var(--wh-surface-hover)75%);background-size:200% 100%;animation:1.5s ease-in-out infinite wh-shimmer}.wh-skeleton-text{width:100%;height:16px;margin-bottom:8px}.wh-skeleton-text:last-child{width:60%}.wh-skeleton-heading{width:40%;height:24px;margin-bottom:16px}.wh-skeleton-circle{border-radius:50%}.wh-skeleton-card{border-radius:var(--wh-radius-lg);height:160px}.wh-alert{border-radius:var(--wh-radius-md);font-family:var(--wh-font);border:1px solid #0000;align-items:flex-start;gap:12px;padding:12px 16px;font-size:13px;line-height:1.5;display:flex}.wh-alert-info{background:var(--wh-indigo-muted);color:var(--wh-text);border-color:#3b82f633}.wh-alert-success{background:var(--wh-success-light);color:var(--wh-text);border-color:#10b98133}.wh-alert-warning{background:var(--wh-warning-light);color:var(--wh-text);border-color:#f59e0b33}.wh-alert-error{background:var(--wh-error-light);color:var(--wh-text);border-color:#ef444433}.wh-alert-icon{flex-shrink:0;margin-top:2px}.wh-alert-content{flex:1;min-width:0}.wh-alert-title{color:inherit;margin-bottom:4px;font-weight:600}.wh-alert-dismiss{cursor:pointer;color:var(--wh-text-muted);border-radius:var(--wh-radius-sm);background:0 0;border:none;flex-shrink:0;padding:4px;transition:background-color .2s,color .2s}.wh-alert-dismiss:hover{color:var(--wh-text);background:#0000000d}[data-theme=dark] .wh-alert-dismiss:hover{background:#ffffff1a}.wh-avatar-group{align-items:center;display:flex}.wh-avatar-group .wh-avatar{border:2px solid var(--wh-bg);box-sizing:content-box;transition:transform .2s,z-index .2s}.wh-avatar-group .wh-avatar:hover{z-index:10;transform:translateY(-2px)}.wh-avatar-group .wh-avatar+.wh-avatar{margin-left:-12px}.wh-avatar-overflow{border-radius:var(--wh-radius-full);background:var(--wh-surface-hover);border:2px solid var(--wh-bg);box-sizing:content-box;font-family:var(--wh-font);color:var(--wh-text-secondary);justify-content:center;align-items:center;margin-left:-12px;font-size:12px;font-weight:600;display:inline-flex}.wh-tag{border-radius:var(--wh-radius-full);border:1px solid var(--wh-border-strong);background:var(--wh-surface);font-family:var(--wh-font);color:var(--wh-text-secondary);white-space:nowrap;align-items:center;gap:4px;height:24px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.wh-tag-indigo{background:var(--wh-indigo-muted);color:var(--wh-indigo);border-color:#3b82f633}.wh-tag-success{background:var(--wh-success-light);color:var(--wh-success);border-color:#10b98133}.wh-tag-warning{background:var(--wh-warning-light);color:var(--wh-warning);border-color:#f59e0b33}.wh-tag-error{background:var(--wh-error-light);color:var(--wh-error);border-color:#ef444433}.wh-tag-remove{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;transition:opacity .2s,background-color .2s;display:inline-flex}.wh-tag-remove:hover{opacity:1;background:#0000001a}[data-theme=dark] .wh-tag-remove:hover{background:#fff3}.wh-pagination{font-family:var(--wh-font);align-items:center;gap:4px;display:flex}.wh-page-btn{border-radius:var(--wh-radius-full);font-family:var(--wh-font);color:var(--wh-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:500;transition:background-color .2s,color .2s;display:inline-flex}.wh-page-btn:hover{background:var(--wh-surface-hover);color:var(--wh-text)}.wh-page-btn-active{background:var(--wh-indigo);color:#fff;border-color:var(--wh-indigo);font-weight:600}.wh-page-btn-active:hover{background:var(--wh-indigo-hover);color:#fff}.wh-page-btn:disabled{opacity:.4;cursor:not-allowed;background:0 0}.wh-page-info{color:var(--wh-text-muted);padding:0 12px;font-size:13px}.wh-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:400px;margin:0 auto;padding:48px 24px;display:flex}.wh-empty-icon{border-radius:var(--wh-radius-full);background:var(--wh-surface-hover);color:var(--wh-text-muted);justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;display:flex}.wh-empty-title{font-family:var(--wh-font);color:var(--wh-text);margin:0 0 8px;font-size:16px;font-weight:600}.wh-empty-text{font-family:var(--wh-font);color:var(--wh-text-muted);margin:0;font-size:13px;line-height:1.5}.wh-empty-action{margin-top:20px}.wh-accordion-item{border-bottom:1px solid var(--wh-divider)}.wh-accordion-trigger{font-family:var(--wh-font);color:var(--wh-text);cursor:pointer;text-align:left;background:0 0;border:none;outline:none;justify-content:space-between;align-items:center;width:100%;padding:16px 0;font-size:15px;font-weight:600;transition:color .2s;display:flex}.wh-accordion-trigger:hover{color:var(--wh-indigo)}.wh-accordion-trigger:focus-visible{box-shadow:inset 0 0 0 2px var(--wh-ring);border-radius:var(--wh-radius-sm)}.wh-accordion-chevron{color:var(--wh-text-muted);flex-shrink:0;transition:transform .3s cubic-bezier(.16,1,.3,1)}.wh-accordion-trigger[data-state=open] .wh-accordion-chevron{transform:rotate(180deg)}.wh-accordion-content{font-family:var(--wh-font);color:var(--wh-text-secondary);font-size:14px;line-height:1.6;overflow:hidden}.wh-accordion-content[data-state=open]{animation:.3s cubic-bezier(.16,1,.3,1) wh-slideDown}.wh-accordion-content-inner{padding:0 0 16px}.wh-separator{background:var(--wh-divider);border:none;width:100%;height:1px;margin:0}.wh-separator-vertical{background:var(--wh-divider);align-self:stretch;width:1px;height:auto}.wh-separator-label{font-family:var(--wh-font);color:var(--wh-text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:16px;font-size:12px;font-weight:600;display:flex}.wh-separator-label:before,.wh-separator-label:after{content:"";background:var(--wh-divider);flex:1;height:1px}.wh-topbar{height:var(--wh-topbar-height);background:var(--wh-surface-glass);-webkit-backdrop-filter:var(--wh-blur);border-bottom:1px solid var(--wh-border);z-index:50;flex-shrink:0;align-items:center;gap:12px;padding:0 20px;transition:box-shadow .2s;display:flex}.wh-topbar-scrolled{box-shadow:var(--wh-shadow-sm)}.wh-topbar-brand{height:var(--wh-ctrl-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 12px 0 0;display:inline-flex}.wh-topbar-brand-logo{object-fit:contain;width:auto;height:24px;display:block}.wh-topbar-search{border-radius:var(--wh-radius-md);background:var(--wh-surface-hover);cursor:text;border:1px solid #0000;align-items:center;gap:8px;min-width:240px;max-width:400px;height:36px;padding:0 12px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.wh-topbar-search:focus-within{background:var(--wh-surface);border-color:var(--wh-indigo);box-shadow:0 0 0 3px var(--wh-ring)}.wh-topbar-search input{font-family:var(--wh-font);color:var(--wh-text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.wh-topbar-search input::placeholder{color:var(--wh-text-muted)}.wh-topbar-search svg{color:var(--wh-text-muted);flex-shrink:0}.wh-topbar-spacer{flex:1}.wh-topbar-divider{background:var(--wh-divider);flex-shrink:0;width:1px;height:24px;margin:0 8px}.wh-topbar-btn{border-radius:var(--wh-radius-md);color:var(--wh-text-muted);cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;gap:6px;min-width:36px;height:36px;padding:0;transition:all .2s;display:inline-flex;position:relative}.wh-topbar-btn:hover{background:var(--wh-surface-hover);color:var(--wh-text)}.wh-topbar-btn:focus-visible{box-shadow:0 0 0 2px var(--wh-surface),0 0 0 3px var(--wh-ring)}.wh-topbar-btn-text{font-family:var(--wh-font);color:var(--wh-text-secondary);padding:0 10px;font-size:13px;font-weight:500}.wh-topbar-btn-text:hover{color:var(--wh-indigo)}.wh-topbar-dot{background:var(--wh-error);border:2px solid var(--wh-surface);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.wh-topbar-user{border-radius:var(--wh-radius-md);cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:8px;padding:4px 8px 4px 4px;transition:background-color .2s;display:flex}.wh-topbar-user:hover{background:var(--wh-surface-hover)}.wh-topbar-user-info{flex-direction:column;align-items:flex-start;line-height:1.2;display:flex}.wh-topbar-user-name{font-family:var(--wh-font);color:var(--wh-text);white-space:nowrap;font-size:13px;font-weight:600}.wh-topbar-user-role{font-family:var(--wh-font);color:var(--wh-text-muted);white-space:nowrap;font-size:11px;font-weight:400}.wh-topbar-kbd{font-family:var(--wh-font-mono);color:var(--wh-text-muted);background:var(--wh-surface);border:1px solid var(--wh-border-strong);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:11px;font-weight:500;line-height:1;box-shadow:0 1px 1px #0000000d}.wh-radio-group{flex-direction:column;gap:12px;display:flex}.wh-radio{border:1px solid var(--wh-border-strong);background:var(--wh-surface);cursor:pointer;border-radius:50%;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:inset 0 1px 2px #0000000d}.wh-radio:hover{border-color:var(--wh-indigo-light)}.wh-radio:focus-visible{box-shadow:0 0 0 2px var(--wh-surface),0 0 0 4px var(--wh-ring);border-color:var(--wh-indigo)}.wh-radio[data-state=checked]{border-color:var(--wh-indigo);background:var(--wh-indigo)}.wh-radio-indicator{background:#fff;border-radius:50%;width:8px;height:8px}.wh-radio-label-wrapper{cursor:pointer;user-select:none;align-items:center;gap:10px;display:inline-flex}.wh-radio-label-text{font-family:var(--wh-font);color:var(--wh-text);font-size:14px;font-weight:500}.wh-slider{user-select:none;touch-action:none;align-items:center;width:100%;height:24px;display:flex;position:relative}.wh-slider-track{background-color:var(--wh-surface-hover);border-radius:var(--wh-radius-full);flex-grow:1;height:6px;position:relative;box-shadow:inset 0 1px 2px #0000000d}.wh-slider-range{background-color:var(--wh-indigo);border-radius:var(--wh-radius-full);height:100%;transition:background-color .2s;position:absolute}.wh-slider-thumb{box-shadow:var(--wh-shadow-md);border:1px solid var(--wh-border-strong);cursor:grab;background-color:#fff;border-radius:50%;outline:none;width:20px;height:20px;transition:transform .1s,border-color .2s;display:block}.wh-slider-thumb:hover{border-color:var(--wh-indigo);transform:scale(1.1)}.wh-slider-thumb:focus-visible{box-shadow:0 0 0 3px var(--wh-ring);border-color:var(--wh-indigo)}.wh-slider-thumb:active{cursor:grabbing;transform:scale(1.05)}@keyframes wh-spin{to{transform:rotate(360deg)}}.wh-spinner{vertical-align:middle;color:var(--wh-indigo);animation:.8s linear infinite wh-spin;display:inline-block}.wh-popover-content{background:var(--wh-surface-glass);border:1px solid var(--wh-border);border-radius:var(--wh-radius-lg);box-shadow:var(--wh-shadow-xl);z-index:10050;-webkit-backdrop-filter:var(--wh-blur);font-family:var(--wh-font);min-width:240px;padding:12px;animation:.2s cubic-bezier(.16,1,.3,1) wh-slideDown}.wh-popover-arrow{fill:var(--wh-surface);stroke:var(--wh-border);stroke-width:1px}[data-theme=dark] .wh-popover-arrow{fill:var(--wh-surface)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0f172a26 padding-box padding-box;border:2px solid #0000;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0f172a4d padding-box padding-box;border:2px solid #0000}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff26}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.wh-sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wh-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wh-mono{font-family:var(--wh-font-mono)}.wh-flex{display:flex}.wh-flex-col{flex-direction:column;display:flex}.wh-items-center{align-items:center}.wh-justify-between{justify-content:space-between}.wh-justify-center{justify-content:center}.wh-gap-2{gap:8px}.wh-gap-4{gap:16px}.wh-w-full{width:100%}.wh-text-center{text-align:center}.wh-page-root{font-family:var(--wh-font,"Open Sans",sans-serif);background:0 0;flex:1;min-height:0;overflow:hidden auto}.wh-page-bar{background:0 0;flex-flow:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 0;padding:4px 14px 0;display:flex}.wh-page-bar-left,.wh-page-bar-right{flex-flow:wrap;align-items:center;gap:8px;display:flex}.wh-page-title{letter-spacing:-.02em;color:var(--wh-text);font-size:15px;font-weight:600}.wh-page-subtitle{color:var(--wh-text-muted);font-size:12px}.wh-panel{background:var(--wh-surface);border:1px solid var(--wh-border-light,#ebebeb);border-radius:10px;flex-direction:column;flex-shrink:0;margin:10px 14px 8px;display:flex;overflow:hidden;box-shadow:0 1px 3px #00000008}.wh-panel:last-child{margin-bottom:14px}.wh-panel--compact{padding:8px 12px}.wh-panel--flush{padding:0}[data-theme=dark] .wh-panel{background:color-mix(in srgb,var(--wh-surface)90%,var(--wh-indigo))}.wh-add-pill{border:1px solid var(--wh-border,#e5e7eb);background:var(--wh-surface);color:var(--wh-text-secondary);font-family:var(--wh-font,"Open Sans",sans-serif);letter-spacing:-.1px;cursor:pointer;user-select:none;border-radius:10px;align-self:flex-start;align-items:center;gap:8px;height:34px;padding:0 14px 0 6px;font-size:12.5px;font-weight:600;transition:border-color .18s cubic-bezier(.16,1,.3,1),background-color .18s cubic-bezier(.16,1,.3,1),color .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 1px 2px #00000008}.wh-add-pill:hover{border-color:var(--wh-indigo,#6366f1);color:var(--wh-indigo,#6366f1);background:color-mix(in srgb,var(--wh-indigo,#6366f1)6%,var(--wh-surface));transform:translateY(-1px);box-shadow:0 6px 16px #6366f129,0 1px 3px #0000000d}.wh-add-pill:active{transform:translateY(0);box-shadow:0 1px 2px #0000000d}.wh-add-pill:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--wh-indigo,#6366f1)28%,transparent),0 1px 2px #0000000d;outline:none}.wh-add-pill:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.wh-add-pill-bubble{background:var(--wh-indigo-muted,#6366f11f);color:var(--wh-indigo,#6366f1);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:background-color .18s,color .18s,transform .18s;display:inline-flex}.wh-add-pill:hover .wh-add-pill-bubble{background:var(--wh-indigo,#6366f1);color:#fff;transform:rotate(90deg)}.wh-add-pill--block{justify-content:center;align-self:stretch;width:100%}.wh-add-pill--sm{height:28px;padding:0 10px 0 4px;font-size:11.5px}.wh-add-pill--sm .wh-add-pill-bubble{border-radius:6px;width:18px;height:18px}[data-theme=dark] .wh-add-pill{background:color-mix(in srgb,var(--wh-surface)92%,var(--wh-indigo));border-color:var(--wh-border,#ffffff1a)}[data-theme=dark] .wh-add-pill:hover{background:color-mix(in srgb,var(--wh-indigo,#6366f1)18%,var(--wh-surface))}@media (width<=1279px){.wh-topbar{gap:8px;padding:0 16px}.wh-topbar-search{min-width:160px;max-width:260px}.wh-topbar-user-info,.wh-topbar-divider,.wh-topbar-kbd{display:none}.wh-btn{height:30px;padding:0 10px;font-size:12px}.wh-dialog-content{border-radius:0;width:480px}.wh-dialog-center{width:480px}}@media (width>=1280px) and (width<=1439px){.wh-topbar-search{min-width:220px;max-width:320px}}@media (width>=1440px){.wh-topbar{padding:0 24px}.wh-topbar-search{min-width:280px;max-width:440px}}@media (width<=639px){.wh-topbar{gap:4px;padding:0 12px}.wh-topbar-search,.wh-topbar-btn-text,.wh-topbar-divider,.wh-topbar-kbd,.wh-topbar-user-info{display:none}.wh-topbar-brand-logo{max-width:120px;height:24px}.wh-dialog-center{border:none;border-radius:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh}}