:root{--vui-primary: #2563eb;--vui-primary-hover: #1d4ed8;--vui-primary-active: #1e40af;--vui-primary-light: #eff6ff;--vui-primary-border: #bfdbfe;--vui-primary-text: #1e40af;--vui-success: #16a34a;--vui-success-hover: #15803d;--vui-success-light: #f0fdf4;--vui-success-border: #bbf7d0;--vui-success-text: #166534;--vui-warning: #d97706;--vui-warning-hover: #b45309;--vui-warning-light: #fffbeb;--vui-warning-border: #fde68a;--vui-warning-text: #92400e;--vui-danger: #dc2626;--vui-danger-hover: #b91c1c;--vui-danger-light: #fef2f2;--vui-danger-border: #fecaca;--vui-danger-text: #991b1b;--vui-info: #0891b2;--vui-info-hover: #0e7490;--vui-info-light: #ecfeff;--vui-info-border: #a5f3fc;--vui-info-text: #155e75;--vui-gray-50: #f9fafb;--vui-gray-100: #f3f4f6;--vui-gray-200: #e5e7eb;--vui-gray-300: #d1d5db;--vui-gray-400: #9ca3af;--vui-gray-500: #6b7280;--vui-gray-600: #4b5563;--vui-gray-700: #374151;--vui-gray-800: #1f2937;--vui-gray-900: #111827;--vui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--vui-radius-sm: 3px;--vui-radius: 6px;--vui-radius-md: 8px;--vui-radius-lg: 12px;--vui-radius-full: 9999px;--vui-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--vui-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--vui-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--vui-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--vui-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--vui-t: .15s ease;--vui-bg: #ffffff;--vui-bg-body: #f5f6fa;--vui-tooltip-bg: #1f2937;--vui-tooltip-text: #fff}[data-theme=dark]{--vui-bg: #1e293b;--vui-bg-body: #0f172a;--vui-gray-50: #1e293b;--vui-gray-100: #293548;--vui-gray-200: #334155;--vui-gray-300: #475569;--vui-gray-400: #64748b;--vui-gray-500: #94a3b8;--vui-gray-600: #cbd5e1;--vui-gray-700: #e2e8f0;--vui-gray-800: #f1f5f9;--vui-gray-900: #f8fafc;--vui-primary: #3b82f6;--vui-primary-hover: #2563eb;--vui-primary-active: #1d4ed8;--vui-primary-light: #172554;--vui-primary-border: #3b82f6;--vui-primary-text: #93c5fd;--vui-success: #22c55e;--vui-success-hover: #16a34a;--vui-success-light: #052e16;--vui-success-border: #22c55e;--vui-success-text: #86efac;--vui-warning: #f59e0b;--vui-warning-hover: #d97706;--vui-warning-light: #431407;--vui-warning-border: #f59e0b;--vui-warning-text: #fde68a;--vui-danger: #ef4444;--vui-danger-hover: #dc2626;--vui-danger-light: #450a0a;--vui-danger-border: #ef4444;--vui-danger-text: #fca5a5;--vui-info: #22d3ee;--vui-info-hover: #0891b2;--vui-info-light: #083344;--vui-info-border: #22d3ee;--vui-info-text: #67e8f9;--vui-tooltip-bg: #0f172a;--vui-tooltip-text: #f1f5f9;--vui-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .4);--vui-shadow: 0 1px 3px 0 rgb(0 0 0 / .5), 0 1px 2px -1px rgb(0 0 0 / .5);--vui-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .5);--vui-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .6), 0 4px 6px -4px rgb(0 0 0 / .5);--vui-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .6), 0 8px 10px -6px rgb(0 0 0 / .5)}[data-theme=dark] .vui-spinner-overlay{background:#0f172ad9}[data-theme=dark] .vui-avatar--blue{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .vui-avatar--green{background:#052e16;color:#86efac}[data-theme=dark] .vui-avatar--yellow{background:#3d2100;color:#fde68a}[data-theme=dark] .vui-avatar--red{background:#450a0a;color:#fca5a5}[data-theme=dark] .vui-avatar--purple{background:#2e1065;color:#d8b4fe}[data-theme=dark] .vui-avatar--pink{background:#500724;color:#f9a8d4}[data-theme=dark] .vui-avatar--orange{background:#431407;color:#fed7aa}[data-theme=dark] .vui-avatar--teal{background:#042f2e;color:#5eead4}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--vui-bg-body);color:var(--vui-gray-800);font-family:var(--vui-font);line-height:1.5}.vui-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:var(--vui-radius);font-family:var(--vui-font);font-weight:500;cursor:pointer;transition:background var(--vui-t),color var(--vui-t),border-color var(--vui-t);white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration:none;line-height:1}.vui-btn:focus-visible{outline:2px solid var(--vui-primary);outline-offset:2px}.vui-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.vui-btn--loading{cursor:wait;pointer-events:none;opacity:.75}.vui-btn--sm{padding:5px 10px;font-size:12px;height:28px}.vui-btn--md{padding:7px 14px;font-size:14px;height:36px}.vui-btn--lg{padding:10px 20px;font-size:16px;height:44px}.vui-btn--primary{background:var(--vui-primary);color:#fff;border-color:var(--vui-primary)}.vui-btn--primary:hover:not(:disabled){background:var(--vui-primary-hover);border-color:var(--vui-primary-hover)}.vui-btn--secondary{background:var(--vui-gray-100);color:var(--vui-gray-700);border-color:var(--vui-gray-200)}.vui-btn--secondary:hover:not(:disabled){background:var(--vui-gray-200);border-color:var(--vui-gray-300)}.vui-btn--outline{background:transparent;color:var(--vui-primary);border-color:var(--vui-primary)}.vui-btn--outline:hover:not(:disabled){background:var(--vui-primary-light)}.vui-btn--ghost{background:transparent;color:var(--vui-gray-600);border-color:transparent}.vui-btn--ghost:hover:not(:disabled){background:var(--vui-gray-100);color:var(--vui-gray-800)}.vui-btn--danger{background:var(--vui-danger);color:#fff;border-color:var(--vui-danger)}.vui-btn--danger:hover:not(:disabled){background:var(--vui-danger-hover);border-color:var(--vui-danger-hover)}.vui-btn--success{background:var(--vui-success);color:#fff;border-color:var(--vui-success)}.vui-btn--success:hover:not(:disabled){background:var(--vui-success-hover);border-color:var(--vui-success-hover)}.vui-btn__spinner{width:13px;height:13px;flex-shrink:0;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:vui-spin .6s linear infinite}.vui-field{display:flex;flex-direction:column;gap:5px}.vui-label{font-size:13px;font-weight:500;color:var(--vui-gray-700);font-family:var(--vui-font)}.vui-label--required:after{content:" *";color:var(--vui-danger)}.vui-hint{font-size:12px;color:var(--vui-gray-500);font-family:var(--vui-font)}.vui-error{font-size:12px;color:var(--vui-danger);font-family:var(--vui-font)}.vui-input-wrap{position:relative;display:flex;align-items:center}.vui-input{width:100%;height:36px;padding:0 12px;font-size:14px;font-family:var(--vui-font);color:var(--vui-gray-800);background:var(--vui-bg);border:1px solid var(--vui-gray-300);border-radius:var(--vui-radius);outline:none;transition:border-color var(--vui-t),box-shadow var(--vui-t);line-height:1.5}.vui-input::placeholder{color:var(--vui-gray-400)}.vui-input:hover:not(:disabled){border-color:var(--vui-gray-400)}.vui-input:focus{border-color:var(--vui-primary);box-shadow:0 0 0 3px var(--vui-primary-border)}.vui-input:disabled{background:var(--vui-gray-50);color:var(--vui-gray-400);cursor:not-allowed}.vui-input--error{border-color:var(--vui-danger)!important}.vui-input--error:focus{box-shadow:0 0 0 3px var(--vui-danger-border)!important}.vui-input--has-prefix{padding-left:36px}.vui-input--has-suffix{padding-right:36px}.vui-input-prefix,.vui-input-suffix{position:absolute;top:50%;transform:translateY(-50%);color:var(--vui-gray-400);pointer-events:none;display:flex;align-items:center;font-size:14px}.vui-input-prefix{left:10px}.vui-input-suffix{right:10px}.vui-textarea{width:100%;padding:8px 12px;font-size:14px;font-family:var(--vui-font);color:var(--vui-gray-800);background:var(--vui-bg);border:1px solid var(--vui-gray-300);border-radius:var(--vui-radius);outline:none;transition:border-color var(--vui-t),box-shadow var(--vui-t);resize:vertical;line-height:1.5;min-height:80px}.vui-textarea::placeholder{color:var(--vui-gray-400)}.vui-textarea:hover:not(:disabled){border-color:var(--vui-gray-400)}.vui-textarea:focus{border-color:var(--vui-primary);box-shadow:0 0 0 3px var(--vui-primary-border)}.vui-textarea:disabled{background:var(--vui-gray-50);color:var(--vui-gray-400);cursor:not-allowed}.vui-textarea--error{border-color:var(--vui-danger)!important}.vui-textarea--no-resize{resize:none}.vui-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.vui-checkbox__input{display:none}.vui-checkbox__box{width:16px;height:16px;flex-shrink:0;border:2px solid var(--vui-gray-300);border-radius:3px;background:var(--vui-bg);display:flex;align-items:center;justify-content:center;transition:all var(--vui-t)}.vui-checkbox:hover .vui-checkbox__box{border-color:var(--vui-primary)}.vui-checkbox--checked .vui-checkbox__box,.vui-checkbox--indeterminate .vui-checkbox__box{background:var(--vui-primary);border-color:var(--vui-primary)}.vui-checkbox__box svg{color:#fff;width:10px;height:10px}.vui-checkbox__label{font-size:14px;color:var(--vui-gray-700);font-family:var(--vui-font)}.vui-checkbox--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.vui-radio-group{display:flex;flex-direction:column;gap:8px}.vui-radio-group--horizontal{flex-direction:row;flex-wrap:wrap;gap:16px}.vui-radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.vui-radio__input{display:none}.vui-radio__circle{width:16px;height:16px;flex-shrink:0;border:2px solid var(--vui-gray-300);border-radius:50%;background:var(--vui-bg);display:flex;align-items:center;justify-content:center;transition:all var(--vui-t)}.vui-radio:hover .vui-radio__circle,.vui-radio--checked .vui-radio__circle{border-color:var(--vui-primary)}.vui-radio--checked .vui-radio__circle:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--vui-primary)}.vui-radio__label{font-size:14px;color:var(--vui-gray-700);font-family:var(--vui-font)}.vui-radio--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.vui-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.vui-switch__input{display:none}.vui-switch__track{width:36px;height:20px;flex-shrink:0;background:var(--vui-gray-300);border-radius:var(--vui-radius-full);position:relative;transition:background var(--vui-t)}.vui-switch__thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--vui-bg);box-shadow:var(--vui-shadow-sm);transition:transform var(--vui-t)}.vui-switch--on .vui-switch__track{background:var(--vui-primary)}.vui-switch--on .vui-switch__thumb{transform:translate(16px)}.vui-switch--sm .vui-switch__track{width:28px;height:16px}.vui-switch--sm .vui-switch__thumb{width:12px;height:12px}.vui-switch--sm.vui-switch--on .vui-switch__thumb{transform:translate(12px)}.vui-switch--lg .vui-switch__track{width:44px;height:24px}.vui-switch--lg .vui-switch__thumb{width:20px;height:20px}.vui-switch--lg.vui-switch--on .vui-switch__thumb{transform:translate(20px)}.vui-switch__label{font-size:14px;color:var(--vui-gray-700);font-family:var(--vui-font)}.vui-switch--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.vui-select-wrap{position:relative}.vui-select{width:100%;height:36px;padding:0 32px 0 12px;font-size:14px;font-family:var(--vui-font);color:var(--vui-gray-800);background:var(--vui-bg);border:1px solid var(--vui-gray-300);border-radius:var(--vui-radius);outline:none;appearance:none;cursor:pointer;transition:border-color var(--vui-t),box-shadow var(--vui-t)}.vui-select:hover:not(:disabled){border-color:var(--vui-gray-400)}.vui-select:focus{border-color:var(--vui-primary);box-shadow:0 0 0 3px var(--vui-primary-border)}.vui-select:disabled{background:var(--vui-gray-50);color:var(--vui-gray-400);cursor:not-allowed}.vui-select--error{border-color:var(--vui-danger)!important}.vui-select-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--vui-gray-400)}.vui-datepicker{position:relative}.vui-datepicker__trigger{position:relative;cursor:pointer}.vui-datepicker__icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--vui-gray-400);pointer-events:none}.vui-datepicker__clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:0;color:var(--vui-gray-400);display:flex;align-items:center;pointer-events:all}.vui-datepicker__clear:hover{color:var(--vui-gray-600)}.vui-datepicker__popup{position:fixed;z-index:9999;background:var(--vui-bg);border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius-md);box-shadow:var(--vui-shadow-lg);padding:12px;min-width:280px}.vui-datepicker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.vui-datepicker__nav{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;cursor:pointer;border-radius:var(--vui-radius);color:var(--vui-gray-600);transition:background var(--vui-t)}.vui-datepicker__nav:hover{background:var(--vui-gray-100)}.vui-datepicker__month-label{font-size:14px;font-weight:600;color:var(--vui-gray-800)}.vui-datepicker__weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.vui-datepicker__weekday{font-size:11px;font-weight:600;color:var(--vui-gray-400);text-align:center;padding:4px 0}.vui-datepicker__days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.vui-datepicker__day{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:13px;color:var(--vui-gray-700);border-radius:var(--vui-radius);cursor:pointer;border:none;background:none;transition:background var(--vui-t),color var(--vui-t);font-family:var(--vui-font)}.vui-datepicker__day:hover{background:var(--vui-primary-light);color:var(--vui-primary)}.vui-datepicker__day--today{font-weight:700;color:var(--vui-primary)}.vui-datepicker__day--selected{background:var(--vui-primary)!important;color:#fff!important}.vui-datepicker__day--other-month{color:var(--vui-gray-300)}.vui-datepicker__day--disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.vui-card{background:var(--vui-bg);border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius-md);overflow:hidden}.vui-card--shadow-sm{box-shadow:var(--vui-shadow-sm)}.vui-card--shadow{box-shadow:var(--vui-shadow)}.vui-card--shadow-md{box-shadow:var(--vui-shadow-md)}.vui-card--shadow-lg{box-shadow:var(--vui-shadow-lg)}.vui-card__header{padding:16px 20px;border-bottom:1px solid var(--vui-gray-100);display:flex;align-items:flex-start;justify-content:space-between}.vui-card__title{font-size:16px;font-weight:600;color:var(--vui-gray-800);margin:0;font-family:var(--vui-font)}.vui-card__subtitle{font-size:13px;color:var(--vui-gray-500);margin:3px 0 0;font-family:var(--vui-font)}.vui-card__body{padding:20px}.vui-card__footer{padding:12px 20px;border-top:1px solid var(--vui-gray-100);background:var(--vui-gray-50)}.vui-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;border-radius:var(--vui-radius-full);font-family:var(--vui-font);white-space:nowrap;line-height:1.5}.vui-badge--sm{padding:1px 6px;font-size:10px}.vui-badge--lg{padding:4px 10px;font-size:13px}.vui-badge--primary{background:var(--vui-primary-light);color:var(--vui-primary-text)}.vui-badge--success{background:var(--vui-success-light);color:var(--vui-success-text)}.vui-badge--warning{background:var(--vui-warning-light);color:var(--vui-warning-text)}.vui-badge--danger{background:var(--vui-danger-light);color:var(--vui-danger-text)}.vui-badge--info{background:var(--vui-info-light);color:var(--vui-info-text)}.vui-badge--neutral{background:var(--vui-gray-100);color:var(--vui-gray-600)}.vui-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.vui-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--vui-radius-md);border-left:4px solid;font-family:var(--vui-font)}.vui-alert--info{background:var(--vui-info-light);border-color:var(--vui-info)}.vui-alert--success{background:var(--vui-success-light);border-color:var(--vui-success)}.vui-alert--warning{background:var(--vui-warning-light);border-color:var(--vui-warning)}.vui-alert--error{background:var(--vui-danger-light);border-color:var(--vui-danger)}.vui-alert__icon{flex-shrink:0;margin-top:1px}.vui-alert--info .vui-alert__icon{color:var(--vui-info)}.vui-alert--success .vui-alert__icon{color:var(--vui-success)}.vui-alert--warning .vui-alert__icon{color:var(--vui-warning)}.vui-alert--error .vui-alert__icon{color:var(--vui-danger)}.vui-alert__body{flex:1}.vui-alert__title{font-size:14px;font-weight:600;color:var(--vui-gray-800);margin:0 0 2px}.vui-alert__message{font-size:13px;color:var(--vui-gray-600);margin:0;line-height:1.5}.vui-alert__close{background:none;border:none;cursor:pointer;padding:0;color:var(--vui-gray-400);display:flex;align-items:center;transition:color var(--vui-t)}.vui-alert__close:hover{color:var(--vui-gray-600)}.vui-modal-backdrop{position:fixed;inset:0;z-index:1000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;animation:vui-fade-in .15s ease}.vui-modal{background:var(--vui-bg);border-radius:var(--vui-radius-lg);box-shadow:var(--vui-shadow-xl);width:100%;max-height:90vh;display:flex;flex-direction:column;animation:vui-slide-up .15s ease;overflow:hidden}.vui-modal--sm{max-width:400px}.vui-modal--md{max-width:560px}.vui-modal--lg{max-width:720px}.vui-modal--xl{max-width:960px}.vui-modal__header{padding:20px 24px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--vui-gray-100);flex-shrink:0}.vui-modal__title{font-size:18px;font-weight:600;color:var(--vui-gray-800);margin:0;font-family:var(--vui-font)}.vui-modal__close{background:none;border:none;cursor:pointer;padding:2px;color:var(--vui-gray-400);display:flex;align-items:center;border-radius:var(--vui-radius);transition:color var(--vui-t),background var(--vui-t)}.vui-modal__close:hover{color:var(--vui-gray-600);background:var(--vui-gray-100)}.vui-modal__body{padding:24px;overflow-y:auto;flex:1;font-family:var(--vui-font)}.vui-modal__footer{padding:16px 24px;border-top:1px solid var(--vui-gray-100);display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.vui-toast-container{position:fixed;z-index:2000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.vui-toast-container--top-right{top:16px;right:16px;align-items:flex-end}.vui-toast-container--top-center{top:16px;left:50%;transform:translate(-50%);align-items:center}.vui-toast-container--top-left{top:16px;left:16px;align-items:flex-start}.vui-toast-container--bottom-right{bottom:16px;right:16px;align-items:flex-end}.vui-toast-container--bottom-left{bottom:16px;left:16px;align-items:flex-start}.vui-toast{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:var(--vui-bg);border-radius:var(--vui-radius-md);box-shadow:var(--vui-shadow-lg);min-width:280px;max-width:400px;pointer-events:all;animation:vui-toast-in .25s ease;border-left:4px solid;font-family:var(--vui-font)}.vui-toast--info{border-color:var(--vui-info)}.vui-toast--success{border-color:var(--vui-success)}.vui-toast--warning{border-color:var(--vui-warning)}.vui-toast--error{border-color:var(--vui-danger)}.vui-toast__icon{flex-shrink:0;margin-top:1px}.vui-toast--info .vui-toast__icon{color:var(--vui-info)}.vui-toast--success .vui-toast__icon{color:var(--vui-success)}.vui-toast--warning .vui-toast__icon{color:var(--vui-warning)}.vui-toast--error .vui-toast__icon{color:var(--vui-danger)}.vui-toast__body{flex:1}.vui-toast__title{font-size:14px;font-weight:600;color:var(--vui-gray-800);margin:0 0 2px}.vui-toast__message{font-size:13px;color:var(--vui-gray-600);margin:0}.vui-toast__close{background:none;border:none;cursor:pointer;padding:0;color:var(--vui-gray-400);display:flex;align-items:center;transition:color var(--vui-t)}.vui-toast__close:hover{color:var(--vui-gray-600)}.vui-tabs__list{display:flex;border-bottom:2px solid var(--vui-gray-200)}.vui-tabs__tab{padding:10px 16px;font-size:14px;font-weight:500;color:var(--vui-gray-500);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color var(--vui-t),border-color var(--vui-t);font-family:var(--vui-font);white-space:nowrap}.vui-tabs__tab:hover{color:var(--vui-gray-700)}.vui-tabs__tab--active{color:var(--vui-primary);border-bottom-color:var(--vui-primary)}.vui-tabs__tab:disabled{opacity:.4;cursor:not-allowed}.vui-tabs__panel{padding:16px 0}.vui-accordion{border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius-md);overflow:hidden}.vui-accordion__item{border-bottom:1px solid var(--vui-gray-200)}.vui-accordion__item:last-child{border-bottom:none}.vui-accordion__header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--vui-bg);border:none;cursor:pointer;text-align:left;font-size:14px;font-weight:500;color:var(--vui-gray-700);transition:background var(--vui-t);font-family:var(--vui-font)}.vui-accordion__header:hover{background:var(--vui-gray-50)}.vui-accordion__header--active{color:var(--vui-primary);background:var(--vui-primary-light)}.vui-accordion__icon{color:var(--vui-gray-400);transition:transform var(--vui-t);flex-shrink:0}.vui-accordion__icon--open{transform:rotate(180deg)}.vui-accordion__body{padding:0 16px 16px;font-size:14px;color:var(--vui-gray-600);line-height:1.6;font-family:var(--vui-font)}.vui-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;font-family:var(--vui-font)}.vui-breadcrumb__item{display:flex;align-items:center}.vui-breadcrumb__link{font-size:14px;color:var(--vui-primary);text-decoration:none;padding:2px 4px;border-radius:var(--vui-radius-sm);transition:background var(--vui-t)}.vui-breadcrumb__link:hover{background:var(--vui-primary-light);text-decoration:underline}.vui-breadcrumb__current{font-size:14px;color:var(--vui-gray-600);padding:2px 4px}.vui-breadcrumb__separator{color:var(--vui-gray-400);margin:0 2px;font-size:14px}.vui-pagination{display:flex;align-items:center;gap:4px;font-family:var(--vui-font);flex-wrap:wrap}.vui-pagination__btn{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;font-size:13px;font-weight:500;background:var(--vui-bg);border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius);color:var(--vui-gray-600);cursor:pointer;transition:all var(--vui-t);font-family:var(--vui-font)}.vui-pagination__btn:hover:not(:disabled){border-color:var(--vui-primary);color:var(--vui-primary);background:var(--vui-primary-light)}.vui-pagination__btn--active{background:var(--vui-primary);border-color:var(--vui-primary);color:#fff}.vui-pagination__btn--active:hover{background:var(--vui-primary-hover)}.vui-pagination__btn:disabled{opacity:.4;cursor:not-allowed}.vui-pagination__ellipsis{padding:0 4px;color:var(--vui-gray-400);font-size:13px}.vui-pagination__info{font-size:13px;color:var(--vui-gray-500);margin-left:8px}.vui-spinner{border-radius:50%;border:3px solid var(--vui-gray-200);border-top-color:var(--vui-primary);animation:vui-spin .7s linear infinite;flex-shrink:0}.vui-spinner--sm{width:16px;height:16px;border-width:2px}.vui-spinner--md{width:28px;height:28px;border-width:3px}.vui-spinner--lg{width:44px;height:44px;border-width:4px}.vui-spinner--xl{width:60px;height:60px;border-width:5px}.vui-spinner--primary{border-top-color:var(--vui-primary)}.vui-spinner--success{border-top-color:var(--vui-success)}.vui-spinner--danger{border-top-color:var(--vui-danger)}.vui-spinner--white{border-color:#ffffff4d;border-top-color:#fff}.vui-spinner-overlay{position:fixed;inset:0;z-index:1500;background:#ffffffb3;display:flex;align-items:center;justify-content:center}.vui-progress{width:100%}.vui-progress__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.vui-progress__label{font-size:13px;font-weight:500;color:var(--vui-gray-700);font-family:var(--vui-font)}.vui-progress__value{font-size:12px;color:var(--vui-gray-500);font-family:var(--vui-font)}.vui-progress__track{width:100%;height:8px;background:var(--vui-gray-100);border-radius:var(--vui-radius-full);overflow:hidden}.vui-progress__track--sm{height:4px}.vui-progress__track--md{height:8px}.vui-progress__track--lg{height:12px}.vui-progress__bar{height:100%;border-radius:var(--vui-radius-full);background:var(--vui-primary);transition:width .3s ease}.vui-progress__bar--success{background:var(--vui-success)}.vui-progress__bar--warning{background:var(--vui-warning)}.vui-progress__bar--danger{background:var(--vui-danger)}.vui-progress__bar--striped{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-size:16px 16px}.vui-progress__bar--animated{animation:vui-progress-stripe .8s linear infinite}.vui-progress__bar--indeterminate{width:40%!important;animation:vui-progress-indeterminate 1.4s ease infinite}.vui-tooltip-host{position:relative;display:inline-flex}.vui-tooltip-box{position:absolute;background:var(--vui-tooltip-bg);color:var(--vui-tooltip-text);font-size:12px;padding:5px 8px;border-radius:var(--vui-radius);white-space:nowrap;pointer-events:none;z-index:9999;opacity:0;transition:opacity .15s ease;font-family:var(--vui-font)}.vui-tooltip-box--visible{opacity:1}.vui-tooltip-box--top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.vui-tooltip-box--bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.vui-tooltip-box--left{right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.vui-tooltip-box--right{left:calc(100% + 6px);top:50%;transform:translateY(-50%)}.vui-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:500;border-radius:var(--vui-radius-full);border:1px solid transparent;font-family:var(--vui-font);white-space:nowrap}.vui-chip--primary{background:var(--vui-primary-light);color:var(--vui-primary-text);border-color:var(--vui-primary-border)}.vui-chip--success{background:var(--vui-success-light);color:var(--vui-success-text);border-color:var(--vui-success-border)}.vui-chip--warning{background:var(--vui-warning-light);color:var(--vui-warning-text);border-color:var(--vui-warning-border)}.vui-chip--danger{background:var(--vui-danger-light);color:var(--vui-danger-text);border-color:var(--vui-danger-border)}.vui-chip--neutral{background:var(--vui-gray-100);color:var(--vui-gray-600);border-color:var(--vui-gray-200)}.vui-chip__remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:none;border:none;cursor:pointer;padding:0;color:currentColor;opacity:.6;transition:opacity var(--vui-t),background var(--vui-t);margin-left:2px}.vui-chip__remove:hover{opacity:1;background:#0000001a}.vui-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;flex-shrink:0;font-family:var(--vui-font);font-weight:600;background:var(--vui-primary-light);color:var(--vui-primary-text);position:relative}.vui-avatar--xs{width:24px;height:24px;font-size:10px}.vui-avatar--sm{width:32px;height:32px;font-size:12px}.vui-avatar--md{width:40px;height:40px;font-size:14px}.vui-avatar--lg{width:52px;height:52px;font-size:18px}.vui-avatar--xl{width:68px;height:68px;font-size:24px}.vui-avatar--blue{background:#dbeafe;color:#1d4ed8}.vui-avatar--green{background:#dcfce7;color:#15803d}.vui-avatar--yellow{background:#fef9c3;color:#a16207}.vui-avatar--red{background:#fee2e2;color:#b91c1c}.vui-avatar--purple{background:#f3e8ff;color:#7e22ce}.vui-avatar--pink{background:#fce7f3;color:#be185d}.vui-avatar--orange{background:#ffedd5;color:#c2410c}.vui-avatar--teal{background:#ccfbf1;color:#0f766e}.vui-avatar--gray{background:var(--vui-gray-100);color:var(--vui-gray-600)}.vui-avatar img{width:100%;height:100%;object-fit:cover}.vui-avatar__status{position:absolute;bottom:0;right:0;width:28%;height:28%;min-width:8px;min-height:8px;border-radius:50%;border:2px solid var(--vui-bg)}.vui-avatar__status--online{background:var(--vui-success)}.vui-avatar__status--offline{background:var(--vui-gray-400)}.vui-avatar__status--busy{background:var(--vui-danger)}.vui-avatar__status--away{background:var(--vui-warning)}.vui-avatar-group{display:flex}.vui-avatar-group .vui-avatar{margin-left:-8px;border:2px solid var(--vui-bg)}.vui-avatar-group .vui-avatar:first-child{margin-left:0}.vui-skeleton{background:linear-gradient(90deg,var(--vui-gray-100) 25%,var(--vui-gray-200) 50%,var(--vui-gray-100) 75%);background-size:200% 100%;animation:vui-skeleton-shimmer 1.5s infinite;border-radius:var(--vui-radius)}.vui-skeleton--circle{border-radius:50%}.vui-divider{border:none;border-top:1px solid var(--vui-gray-200);margin:0;width:100%}.vui-datagrid{font-family:var(--vui-font);font-size:14px;display:flex;flex-direction:column;overflow:hidden}.vui-datagrid__scroll{flex:1;min-height:0;overflow-x:auto;display:flex;flex-direction:column}.vui-datagrid__header{display:grid;background:var(--vui-gray-50);border-bottom:2px solid var(--vui-gray-200);flex-shrink:0}.vui-datagrid__body{flex:1;min-height:0;overflow-y:auto;position:relative}.vui-datagrid__th{padding:10px 14px;text-align:left;font-size:11px;font-weight:700;color:var(--vui-gray-500);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.vui-datagrid__th:not(:last-child){border-right:1px solid var(--vui-gray-200)}.vui-datagrid__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.vui-datagrid__th--sortable:hover{color:var(--vui-gray-700)}.vui-datagrid__th-inner{display:flex;align-items:center;gap:4px}.vui-datagrid__sort{color:var(--vui-gray-400);font-size:12px}.vui-datagrid__tr{display:grid}.vui-datagrid__td{padding:12px 14px;border-bottom:1px solid var(--vui-gray-100);color:var(--vui-gray-700);display:flex;align-items:center;overflow:hidden;white-space:nowrap}.vui-datagrid__td:not(:last-child){border-right:1px solid var(--vui-gray-100)}.vui-datagrid__tr:last-child .vui-datagrid__td{border-bottom:none}.vui-datagrid__tr:hover .vui-datagrid__td{background:var(--vui-gray-50)}.vui-datagrid__tr--selected .vui-datagrid__td{background:color-mix(in srgb,var(--vui-primary-light) 50%,var(--vui-primary-border) 50%)}.vui-datagrid__tr--selected:hover .vui-datagrid__td{background:var(--vui-primary-border)}.vui-datagrid__tr--clickable{cursor:pointer}.vui-datagrid__empty{padding:48px 16px;text-align:center;color:var(--vui-gray-400);font-size:14px;border-bottom:1px solid var(--vui-gray-100)}.vui-datagrid__loading{padding:32px;text-align:center;display:flex;justify-content:center;border-bottom:1px solid var(--vui-gray-100)}.vui-datagrid__loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffb3;z-index:1}[data-theme=dark] .vui-datagrid__loading-overlay{background:#0006}.vui-datagrid__td--actions{gap:6px;justify-content:flex-end}.vui-datagrid__th--sel,.vui-datagrid__td--sel{width:40px;display:flex;align-items:center;justify-content:center;padding:0}.vui-datagrid__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 14px;border-top:1px solid var(--vui-gray-200);background:var(--vui-gray-50);flex-shrink:0}.vui-datagrid__page-size{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--vui-gray-500)}.vui-datagrid__page-size-select{padding:4px 8px;border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius-sm);font-size:13px;background:var(--vui-bg);color:var(--vui-gray-700);cursor:pointer}.vui-datagrid--infinite{height:100%}.vui-datagrid--infinite .vui-datagrid__scroll{overflow:auto}.vui-datagrid--infinite .vui-datagrid__header{position:sticky;top:0;z-index:2}.vui-datagrid--infinite .vui-datagrid__body{overflow:visible;flex:none;min-height:auto}.vui-datagrid__infinite-anchor{height:1px;flex-shrink:0}.vui-datagrid__spacer{flex-shrink:0}.vui-datagrid__load-more{display:flex;justify-content:center;align-items:center;padding:12px;border-top:1px solid var(--vui-gray-200);flex-shrink:0}.vui-datagrid__all-loaded{text-align:center;padding:10px 14px;font-size:12px;color:var(--vui-gray-400);border-top:1px solid var(--vui-gray-200);flex-shrink:0}@keyframes vui-spin{to{transform:rotate(360deg)}}@keyframes vui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes vui-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes vui-toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes vui-progress-stripe{to{background-position:32px 0}}@keyframes vui-progress-indeterminate{0%{margin-left:-40%}to{margin-left:100%}}@keyframes vui-skeleton-shimmer{to{background-position:-200% 0}}.vui-editable{display:inline-flex;flex-direction:column}.vui-editable__display{display:inline-flex;align-items:center;gap:6px}.vui-editable__value{color:var(--vui-gray-800);border-bottom:1.5px dashed var(--vui-gray-400);padding-bottom:1px;line-height:1.5;cursor:text}.vui-editable__edit-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--vui-gray-400);border-radius:var(--vui-radius-sm);cursor:pointer;transition:color var(--vui-t),background var(--vui-t);flex-shrink:0}.vui-editable__edit-btn:hover{color:var(--vui-primary);background:var(--vui-primary-light)}.vui-editable__editor{display:flex;flex-direction:column;gap:8px;min-width:220px}.vui-editable__actions{display:flex;gap:8px}[data-theme=dark] .vui-editable__value{color:var(--vui-gray-700);border-bottom-color:var(--vui-gray-600)}[data-theme=dark] .vui-editable__edit-btn{color:var(--vui-gray-500)}[data-theme=dark] .vui-editable__edit-btn:hover{color:var(--vui-primary);background:#2563eb26}.vui-kanban{display:flex;gap:16px;align-items:flex-start;overflow-x:auto;padding-bottom:8px}.vui-kanban__column{flex-shrink:0;width:272px;display:flex;flex-direction:column;background:var(--vui-gray-100);border-radius:var(--vui-radius-lg);border-top:3px solid var(--col-color, var(--vui-primary));transition:background var(--vui-t)}.vui-kanban__column--over{background:var(--vui-primary-light)}.vui-kanban__col-header{display:flex;align-items:center;gap:8px;padding:12px 14px 10px}.vui-kanban__col-title{flex:1;font-size:13px;font-weight:600;color:var(--vui-gray-700);letter-spacing:.01em}.vui-kanban__col-count{font-size:12px;font-weight:600;color:var(--vui-gray-500);background:var(--vui-gray-200);border-radius:var(--vui-radius-full);padding:1px 7px;transition:background var(--vui-t),color var(--vui-t)}.vui-kanban__col-count--over{background:var(--vui-danger-light);color:var(--vui-danger-text)}.vui-kanban__col-wip{font-weight:400;opacity:.7}.vui-kanban__cards{display:flex;flex-direction:column;gap:8px;padding:4px 10px 12px;min-height:60px}.vui-kanban__card{background:var(--vui-bg);border-radius:var(--vui-radius-md);border:1px solid var(--vui-gray-200);box-shadow:var(--vui-shadow-sm);padding:12px 14px;cursor:grab;transition:box-shadow var(--vui-t),opacity var(--vui-t),border-color var(--vui-t);-webkit-user-select:none;user-select:none}.vui-kanban__card:hover{box-shadow:var(--vui-shadow-md);border-color:var(--vui-gray-300)}.vui-kanban__card:active{cursor:grabbing}.vui-kanban__card--dragging{opacity:.4}.vui-kanban__card-title{font-size:13px;font-weight:500;color:var(--vui-gray-800);margin:0 0 4px;line-height:1.4}.vui-kanban__card-subtitle{font-size:12px;color:var(--vui-gray-500);margin:0 0 8px;line-height:1.4}.vui-kanban__card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.vui-kanban__card-tag{font-size:11px;font-weight:500;padding:1px 7px;border-radius:var(--vui-radius-full);background:var(--vui-primary-light);color:var(--vui-primary-text);border:1px solid var(--vui-primary-border)}.vui-kanban__card-footer{display:flex;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--vui-gray-100)}.vui-kanban__card-avatar{width:22px;height:22px;border-radius:var(--vui-radius-full);background:var(--vui-primary);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vui-kanban__card-assignee{font-size:12px;color:var(--vui-gray-500)}[data-theme=dark] .vui-kanban__column{background:var(--vui-gray-100)}[data-theme=dark] .vui-kanban__column--over{background:#2563eb1f}[data-theme=dark] .vui-kanban__col-count{background:var(--vui-gray-200);color:var(--vui-gray-500)}[data-theme=dark] .vui-kanban__card{border-color:var(--vui-gray-200)}[data-theme=dark] .vui-kanban__card:hover{border-color:var(--vui-gray-300)}[data-theme=dark] .vui-kanban__card-footer{border-top-color:var(--vui-gray-200)}.vui-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--vui-bg);border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius-md);flex-wrap:wrap;font-family:var(--vui-font)}.vui-toolbar--sm{padding:4px 8px;gap:6px}.vui-toolbar--lg{padding:12px 16px;gap:12px}.vui-toolbar__group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.vui-toolbar--sm .vui-toolbar__group{gap:4px}.vui-toolbar--lg .vui-toolbar__group{gap:8px}.vui-toolbar__spacer{flex:1;min-width:8px}.vui-toolbar__separator{width:1px;height:20px;background:var(--vui-gray-200);flex-shrink:0;align-self:center}[data-theme=dark] .vui-toolbar{border-color:var(--vui-gray-200)}.vui-colorpicker{position:relative;display:inline-block;width:100%}.vui-colorpicker__trigger{display:flex;align-items:center;gap:8px;padding:0 10px;height:36px;width:100%;border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius);background:var(--vui-bg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--vui-t),box-shadow var(--vui-t);font-family:var(--vui-font);font-size:14px;color:var(--vui-gray-700)}.vui-colorpicker__trigger:hover{border-color:var(--vui-gray-400)}.vui-colorpicker__trigger:focus-within{border-color:var(--vui-primary);box-shadow:0 0 0 3px var(--vui-primary-light)}.vui-colorpicker__trigger--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.vui-colorpicker__trigger--error{border-color:var(--vui-danger)!important}.vui-colorpicker__swatch{width:20px;height:20px;border-radius:var(--vui-radius-sm);border:1px solid rgba(0,0,0,.12);flex-shrink:0}.vui-colorpicker__value{flex:1;font-size:13px;font-family:monospace;color:var(--vui-gray-700)}.vui-colorpicker__chevron{color:var(--vui-gray-400);line-height:0;flex-shrink:0}.vui-colorpicker__popup{position:fixed;z-index:9999;background:var(--vui-bg);border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius-md);box-shadow:var(--vui-shadow-lg);padding:12px;width:240px}.vui-colorpicker__sv{position:relative;width:100%;height:160px;border-radius:var(--vui-radius-sm);cursor:crosshair;margin-bottom:10px;overflow:hidden}.vui-colorpicker__sv-cursor{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0006;transform:translate(-50%,-50%);pointer-events:none}.vui-colorpicker__hue{position:relative;width:100%;height:12px;border-radius:var(--vui-radius-full);cursor:pointer;margin-bottom:10px;background:linear-gradient(to right,red,#ff8000,#ff0,#80ff00,#0f0,#00ff80,#0ff,#0080ff,#00f,#7f00ff,#f0f,#ff0080,red)}.vui-colorpicker__hue-cursor{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0006;transform:translate(-50%,-50%);pointer-events:none}.vui-colorpicker__bottom{display:flex;align-items:center;gap:8px;margin-bottom:10px}.vui-colorpicker__preview{width:28px;height:28px;flex-shrink:0;border-radius:var(--vui-radius-sm);border:1px solid rgba(0,0,0,.12)}.vui-colorpicker__hex{flex:1;padding:4px 8px;font-size:13px;font-family:monospace;border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius-sm);background:var(--vui-bg);color:var(--vui-gray-700);outline:none;transition:border-color var(--vui-t)}.vui-colorpicker__hex:focus{border-color:var(--vui-primary)}.vui-colorpicker__presets{display:flex;flex-wrap:wrap;gap:6px}.vui-colorpicker__preset{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform var(--vui-t),border-color var(--vui-t)}.vui-colorpicker__preset:hover{transform:scale(1.2)}.vui-colorpicker__preset--active{border-color:var(--vui-gray-600);transform:scale(1.1)}[data-theme=dark] .vui-toolbar__separator{background:var(--vui-gray-300)}.vui-timepicker{position:relative}.vui-timepicker__trigger{position:relative;cursor:pointer}.vui-timepicker__icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--vui-gray-400);pointer-events:none}.vui-timepicker__clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:0;color:var(--vui-gray-400);display:flex;align-items:center;pointer-events:all}.vui-timepicker__clear:hover{color:var(--vui-gray-600)}.vui-timepicker__popup{position:fixed;z-index:9999;background:var(--vui-bg);border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius-md);box-shadow:var(--vui-shadow-lg);padding:12px}.vui-timepicker__columns{display:flex;align-items:flex-start}.vui-timepicker__column{display:flex;flex-direction:column}.vui-timepicker__col-header{font-size:11px;font-weight:600;color:var(--vui-gray-400);text-align:center;padding:0 0 4px}.vui-timepicker__col-scroll{height:180px;overflow-y:auto;width:52px;scrollbar-width:thin;scrollbar-color:var(--vui-gray-300) transparent}.vui-timepicker__item{display:flex;align-items:center;justify-content:center;width:100%;height:32px;font-size:13px;color:var(--vui-gray-700);border:none;background:none;cursor:pointer;font-family:var(--vui-font);border-radius:var(--vui-radius-sm);transition:background var(--vui-t),color var(--vui-t)}.vui-timepicker__item:hover{background:var(--vui-primary-light);color:var(--vui-primary)}.vui-timepicker__item--selected{background:var(--vui-primary)!important;color:#fff!important}.vui-timepicker__sep{font-size:16px;font-weight:600;color:var(--vui-gray-500);padding:22px 4px 0;align-self:flex-start}.vui-timepicker__footer{display:flex;justify-content:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid var(--vui-gray-100)}.vui-tzpicker{position:relative}.vui-tzpicker__trigger{position:relative;cursor:pointer}.vui-tzpicker__trigger--disabled{cursor:not-allowed}.vui-tzpicker__icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--vui-gray-400);pointer-events:none}.vui-tzpicker__clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:0;color:var(--vui-gray-400);display:flex;align-items:center;justify-content:center;pointer-events:all}.vui-tzpicker__clear:hover{color:var(--vui-gray-600)}.vui-tzpicker__popup{position:fixed;z-index:9999;background:var(--vui-bg);border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius-md);box-shadow:var(--vui-shadow-lg);display:flex;flex-direction:column;overflow:hidden}.vui-tzpicker__search-wrap{padding:8px;border-bottom:1px solid var(--vui-gray-100)}.vui-tzpicker__search{width:100%;box-sizing:border-box}.vui-tzpicker__list{height:280px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--vui-gray-300) transparent}.vui-tzpicker__item{display:block;width:100%;padding:8px 12px;text-align:left;font-size:13px;color:var(--vui-gray-700);background:none;border:none;cursor:pointer;font-family:var(--vui-font);transition:background var(--vui-t),color var(--vui-t);white-space:nowrap}.vui-tzpicker__item:hover{background:var(--vui-primary-light);color:var(--vui-primary)}.vui-tzpicker__item--selected{background:var(--vui-primary)!important;color:#fff!important}.vui-tzpicker__empty{padding:24px;text-align:center;color:var(--vui-gray-400);font-size:13px;font-family:var(--vui-font)}.vui-editor{border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius-md);background:var(--vui-bg);font-family:var(--vui-font);transition:border-color var(--vui-t),box-shadow var(--vui-t)}.vui-editor:focus-within{border-color:var(--vui-primary);box-shadow:0 0 0 3px var(--vui-primary-light)}.vui-editor--readonly{background:var(--vui-gray-50)}.vui-editor__toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:6px 8px;border-bottom:1px solid var(--vui-gray-200);background:var(--vui-gray-50);border-radius:var(--vui-radius-md) var(--vui-radius-md) 0 0}.vui-editor__toolbar-group{display:flex;align-items:center;gap:1px}.vui-editor__sep{width:1px;height:18px;background:var(--vui-gray-200);margin:0 4px;flex-shrink:0}.vui-editor__tool{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--vui-radius-sm);background:transparent;cursor:pointer;padding:0;color:var(--vui-gray-600);line-height:0;transition:background var(--vui-t),color var(--vui-t)}.vui-editor__tool:hover:not(:disabled){background:var(--vui-gray-200);color:var(--vui-gray-900)}.vui-editor__tool:disabled{opacity:.35;cursor:not-allowed}.vui-editor__tool--active{background:var(--vui-primary-light);color:var(--vui-primary)}.vui-editor__tool--active:hover:not(:disabled){background:var(--vui-primary-light)}.vui-editor__tool--heading{font-size:11px;font-weight:700;width:auto;padding:0 5px;letter-spacing:-.02em}.vui-editor__link-popover{position:absolute;z-index:999;display:flex;align-items:center;gap:6px;background:var(--vui-bg);border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius-md);box-shadow:var(--vui-shadow-md);padding:8px}.vui-editor__link-input{width:220px;padding:5px 8px;font-size:13px;border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius-sm);background:var(--vui-bg);color:var(--vui-gray-900);outline:none;transition:border-color var(--vui-t);font-family:var(--vui-font)}.vui-editor__link-input:focus{border-color:var(--vui-primary)}.vui-editor__link-btn{padding:5px 10px;font-size:12px;font-weight:600;border:none;border-radius:var(--vui-radius-sm);cursor:pointer;white-space:nowrap;font-family:var(--vui-font);transition:background var(--vui-t)}.vui-editor__link-btn--apply{background:var(--vui-primary);color:#fff}.vui-editor__link-btn--apply:hover{background:var(--vui-primary-hover)}.vui-editor__link-btn--remove{background:var(--vui-danger-light);color:var(--vui-danger-text)}.vui-editor__link-btn--remove:hover{background:var(--vui-danger);color:#fff}.vui-editor__content{padding:12px 16px;outline:none}.vui-editor__content .ProseMirror{outline:none;min-height:inherit}.vui-editor__content .ProseMirror p{margin:0 0 .75em}.vui-editor__content .ProseMirror p:last-child{margin-bottom:0}.vui-editor__content .ProseMirror h1,.vui-editor__content .ProseMirror h2,.vui-editor__content .ProseMirror h3,.vui-editor__content .ProseMirror h4,.vui-editor__content .ProseMirror h5,.vui-editor__content .ProseMirror h6{font-weight:700;line-height:1.3;margin:1em 0 .4em}.vui-editor__content .ProseMirror h1:first-child,.vui-editor__content .ProseMirror h2:first-child,.vui-editor__content .ProseMirror h3:first-child{margin-top:0}.vui-editor__content .ProseMirror h1{font-size:2em}.vui-editor__content .ProseMirror h2{font-size:1.5em}.vui-editor__content .ProseMirror h3{font-size:1.25em}.vui-editor__content .ProseMirror h4{font-size:1.1em}.vui-editor__content .ProseMirror h5{font-size:1em}.vui-editor__content .ProseMirror h6{font-size:.875em;color:var(--vui-gray-500)}.vui-editor__content .ProseMirror ul,.vui-editor__content .ProseMirror ol{padding-left:1.6em;margin:0 0 .75em}.vui-editor__content .ProseMirror li{margin-bottom:.25em}.vui-editor__content .ProseMirror blockquote{border-left:3px solid var(--vui-primary-border);padding-left:1em;margin:.75em 0;color:var(--vui-gray-500);font-style:italic}.vui-editor__content .ProseMirror code{font-family:SFMono-Regular,Consolas,monospace;font-size:.875em;background:var(--vui-gray-100);padding:1px 5px;border-radius:var(--vui-radius-sm);color:var(--vui-danger)}.vui-editor__content .ProseMirror pre{background:var(--vui-gray-100);border-radius:var(--vui-radius);padding:12px 14px;overflow-x:auto;margin:.75em 0}.vui-editor__content .ProseMirror pre code{background:none;padding:0;color:var(--vui-gray-800);font-size:.85em}.vui-editor__content .ProseMirror a{color:var(--vui-primary);text-decoration:underline}.vui-editor__content .ProseMirror a:hover{color:var(--vui-primary-hover)}.vui-editor__content .ProseMirror .ProseMirror-selectednode{outline:2px solid var(--vui-primary)}.vui-editor__content .ProseMirror-focused .ProseMirror-gapcursor:after{border-top:1px solid var(--vui-gray-900)}.vui-editor__content .ProseMirror.is-empty>p:first-child:before{content:attr(data-placeholder);color:var(--vui-gray-400);pointer-events:none;float:left;height:0}[data-theme=dark] .vui-editor__toolbar{background:var(--vui-gray-100)}[data-theme=dark] .vui-editor__toolbar,[data-theme=dark] .vui-editor__sep{border-color:var(--vui-gray-200)}[data-theme=dark] .vui-editor__content .ProseMirror code,[data-theme=dark] .vui-editor__content .ProseMirror pre{background:var(--vui-gray-200)}[data-theme=dark] .vui-editor__content .ProseMirror pre code{color:var(--vui-gray-700)}@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpMtKy2OAdR1K-IwhWudF-R3woqauLY1HY.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpMtKy2OAdR1K-IwhWudF-R3woqY-LY1HY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpMtKy2OAdR1K-IwhWudF-R3woqa-LY1HY.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpMtKy2OAdR1K-IwhWudF-R3woqZOLY1HY.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpMtKy2OAdR1K-IwhWudF-R3woqaOLY1HY.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpMtKy2OAdR1K-IwhWudF-R3woqaeLY1HY.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpMtKy2OAdR1K-IwhWudF-R3woqZ-LY.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpStKy2OAdR1K-IwhWudF-R3wIaZfrc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpStKy2OAdR1K-IwhWudF-R3wsaZfrc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpStKy2OAdR1K-IwhWudF-R3wMaZfrc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpStKy2OAdR1K-IwhWudF-R3wwaZfrc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpStKy2OAdR1K-IwhWudF-R3wAaZfrc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpStKy2OAdR1K-IwhWudF-R3wEaZfrc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesans3/v19/nwpStKy2OAdR1K-IwhWudF-R3w8aZQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary: #4f46e5;--color-primary-dark: #4338ca;--color-primary-light: #e0e7ff;--color-danger: #dc2626;--color-danger-dark: #b91c1c;--color-success: #16a34a;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-900: #111827;--border-radius: 6px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{color:var(--color-gray-900);line-height:1.5;-webkit-font-smoothing:antialiased}.dh{background:var(--vui-bg);border-bottom:1px solid var(--vui-gray-200);position:sticky;top:0;z-index:100;box-shadow:var(--vui-shadow-sm)}.dh__name,.brand{font-size:18px;font-weight:700;color:var(--vui-gray-900)}.dh__theme-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius);background:var(--vui-bg);color:var(--vui-gray-600);cursor:pointer;transition:background var(--vui-t),color var(--vui-t),border-color var(--vui-t)}.dh__theme-btn:hover{background:var(--vui-gray-100);color:var(--vui-gray-800)}section.ds{height:100%}.ds__title{font-size:20px;font-weight:700;color:var(--vui-gray-800);margin:0 0 16px;letter-spacing:-.3px}.ds__card{background:var(--vui-bg);border:1px solid var(--vui-gray-200);border-radius:var(--vui-radius-md);padding:20px;box-shadow:var(--vui-shadow-sm)}.ds__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--vui-gray-400);margin:0 0 10px}.ds__row{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.ds__row--middle{align-items:center}.ds__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.ds__grid--3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--vui-radius);font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s;line-height:1.4}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn--secondary{background:var(--vui-bg);color:var(--vui-gray-700);border-color:var(--vui-gray-300)}.btn--secondary:hover:not(:disabled){background:var(--vui-gray-100)}.btn--danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn--danger:hover:not(:disabled){background:var(--color-danger-dark);border-color:var(--color-danger-dark)}.cff__fields{display:flex;flex-direction:column;gap:16px;padding:4px 0 20px}.cff__actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px;border-top:1px solid var(--vui-gray-200)}.dev-banner{display:none}
