:root{--ex-primary: #667eea;--ex-primary-hover: #5568d3;--ex-primary-light: rgba(102, 126, 234, .1);--ex-primary-rgb: 102, 126, 234;--ex-secondary: #764ba2;--ex-secondary-hover: #6a4190;--ex-accent: #8B5CF6;--ex-accent-hover: #7c3aed;--ex-success: #10B981;--ex-success-hover: #059669;--ex-success-light: #dcfce7;--ex-success-border: #bbf7d0;--ex-warning: #F59E0B;--ex-warning-hover: #d97706;--ex-warning-light: #fef3c7;--ex-warning-border: #fde68a;--ex-danger: #EF4444;--ex-danger-hover: #dc2626;--ex-danger-light: #fef2f2;--ex-danger-border: #fecaca;--ex-info: #3B82F6;--ex-info-hover: #2563eb;--ex-info-light: #dbeafe;--ex-info-border: #bfdbfe;--ex-text-primary: #111827;--ex-text-secondary: #374151;--ex-text-tertiary: #6b7280;--ex-text-muted: #9ca3af;--ex-text-disabled: #d1d5db;--ex-text-inverse: #ffffff;--ex-bg-primary: #ffffff;--ex-bg-secondary: #f9fafb;--ex-bg-tertiary: #f3f4f6;--ex-bg-hover: #f3f4f6;--ex-bg-active: #e5e7eb;--ex-bg-dark: #1f2937;--ex-bg-darker: #111827;--ex-border-light: #e5e7eb;--ex-border-default: #d1d5db;--ex-border-dark: #9ca3af;--ex-border-focus: var(--ex-primary);--ex-overlay-light: rgba(0, 0, 0, .5);--ex-overlay-dark: rgba(0, 0, 0, .7);--ex-track-insert-bg: rgba(16, 185, 129, .15);--ex-track-insert-text: #059669;--ex-track-delete-bg: rgba(239, 68, 68, .15);--ex-track-delete-text: #dc2626;--ex-track-modify-bg: rgba(59, 130, 246, .15);--ex-track-modify-text: #2563eb;--ex-space-0: 0;--ex-space-1: 4px;--ex-space-2: 8px;--ex-space-3: 12px;--ex-space-4: 16px;--ex-space-5: 20px;--ex-space-6: 24px;--ex-space-8: 32px;--ex-space-10: 40px;--ex-space-12: 48px;--ex-space-16: 64px;--ex-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--ex-font-mono: "SF Mono", Monaco, "Cascadia Code", "Courier New", monospace;--ex-font-xs: 11px;--ex-font-sm: 12px;--ex-font-base: 14px;--ex-font-md: 16px;--ex-font-lg: 18px;--ex-font-xl: 20px;--ex-font-2xl: 24px;--ex-font-3xl: 30px;--ex-line-height-tight: 1.25;--ex-line-height-normal: 1.5;--ex-line-height-relaxed: 1.75;--ex-font-weight-normal: 400;--ex-font-weight-medium: 500;--ex-font-weight-semibold: 600;--ex-font-weight-bold: 700;--ex-radius-none: 0;--ex-radius-sm: 4px;--ex-radius-md: 6px;--ex-radius-lg: 8px;--ex-radius-xl: 12px;--ex-radius-2xl: 16px;--ex-radius-full: 9999px;--ex-shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--ex-shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--ex-shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--ex-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--ex-shadow-xl: 0 20px 25px rgba(0, 0, 0, .1), 0 10px 10px rgba(0, 0, 0, .04);--ex-shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--ex-shadow-focus: 0 0 0 3px rgba(var(--ex-primary-rgb), .35);--ex-transition-fast: .1s ease;--ex-transition-base: .2s ease;--ex-transition-slow: .3s ease;--ex-transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--ex-transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1);--ex-z-dropdown: 100;--ex-z-sticky: 200;--ex-z-fixed: 300;--ex-z-sidebar: 400;--ex-z-modal-backdrop: 500;--ex-z-modal: 600;--ex-z-popover: 700;--ex-z-tooltip: 800;--ex-z-toast: 900;--ex-z-max: 9999;--ex-bp-sm: 480px;--ex-bp-md: 768px;--ex-bp-lg: 1024px;--ex-bp-xl: 1280px;--ex-bp-2xl: 1536px;--ex-sidebar-width: 280px;--ex-sidebar-collapsed-width: 12px;--ex-sidebar-toggle-width: 5px;--ex-modal-width-sm: 400px;--ex-modal-width-md: 500px;--ex-modal-width-lg: 640px;--ex-modal-width-xl: 800px;--ex-modal-width-full: 90vw;--ex-toolbar-height: 40px;--ex-toolbar-btn-size: 32px;--ex-input-height: 40px;--ex-input-height-sm: 32px;--ex-input-height-lg: 48px}[data-theme=dark]{--ex-primary: #818cf8;--ex-primary-hover: #a5b4fc;--ex-primary-light: rgba(129, 140, 248, .15);--ex-primary-rgb: 129, 140, 248;--ex-secondary: #a78bfa;--ex-secondary-hover: #c4b5fd;--ex-accent: #a78bfa;--ex-accent-hover: #c4b5fd;--ex-success: #34d399;--ex-success-hover: #6ee7b7;--ex-success-light: rgba(52, 211, 153, .15);--ex-success-border: rgba(52, 211, 153, .3);--ex-warning: #fbbf24;--ex-warning-hover: #fcd34d;--ex-warning-light: rgba(251, 191, 36, .15);--ex-warning-border: rgba(251, 191, 36, .3);--ex-danger: #f87171;--ex-danger-hover: #fca5a5;--ex-danger-light: rgba(248, 113, 113, .15);--ex-danger-border: rgba(248, 113, 113, .3);--ex-info: #60a5fa;--ex-info-hover: #93c5fd;--ex-info-light: rgba(96, 165, 250, .15);--ex-info-border: rgba(96, 165, 250, .3);--ex-text-primary: #f3f4f6;--ex-text-secondary: #d1d5db;--ex-text-tertiary: #9ca3af;--ex-text-muted: #6b7280;--ex-text-disabled: #4b5563;--ex-text-inverse: #111827;--ex-bg-primary: #1a1a2e;--ex-bg-secondary: #252542;--ex-bg-tertiary: #2f2f4a;--ex-bg-hover: rgba(255, 255, 255, .08);--ex-bg-active: rgba(255, 255, 255, .15);--ex-bg-dark: #0f0f1a;--ex-bg-darker: #080810;--ex-border-light: #3f3f5a;--ex-border-default: #4b5563;--ex-border-dark: #6b7280;--ex-border-focus: var(--ex-primary);--ex-overlay-light: rgba(0, 0, 0, .6);--ex-overlay-dark: rgba(0, 0, 0, .8);--ex-track-insert-bg: rgba(52, 211, 153, .2);--ex-track-insert-text: #6ee7b7;--ex-track-delete-bg: rgba(248, 113, 113, .2);--ex-track-delete-text: #fca5a5;--ex-track-modify-bg: rgba(96, 165, 250, .2);--ex-track-modify-text: #93c5fd;--ex-shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--ex-shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--ex-shadow-md: 0 4px 6px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--ex-shadow-lg: 0 10px 15px rgba(0, 0, 0, .5), 0 4px 6px rgba(0, 0, 0, .3);--ex-shadow-xl: 0 20px 25px rgba(0, 0, 0, .5), 0 10px 10px rgba(0, 0, 0, .3);--ex-shadow-2xl: 0 25px 50px rgba(0, 0, 0, .6);--ex-shadow-focus: 0 0 0 3px rgba(var(--ex-primary-rgb), .25)}.ex-reset,.ex-reset *,.ex-reset *:before,.ex-reset *:after{box-sizing:border-box}.ex-reset{font-family:var(--ex-font-family);font-size:var(--ex-font-base);line-height:var(--ex-line-height-normal);color:var(--ex-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:reduce){.ex-reset *,.ex-reset *:before,.ex-reset *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ex-block{display:block}.ex-inline-block{display:inline-block}.ex-inline{display:inline}.ex-flex{display:flex}.ex-inline-flex{display:inline-flex}.ex-grid{display:grid}.ex-hidden{display:none}.ex-flex-row{flex-direction:row}.ex-flex-col{flex-direction:column}.ex-flex-row-reverse{flex-direction:row-reverse}.ex-flex-col-reverse{flex-direction:column-reverse}.ex-flex-wrap{flex-wrap:wrap}.ex-flex-nowrap{flex-wrap:nowrap}.ex-justify-start{justify-content:flex-start}.ex-justify-end{justify-content:flex-end}.ex-justify-center{justify-content:center}.ex-justify-between{justify-content:space-between}.ex-justify-around{justify-content:space-around}.ex-items-start{align-items:flex-start}.ex-items-end{align-items:flex-end}.ex-items-center{align-items:center}.ex-items-baseline{align-items:baseline}.ex-items-stretch{align-items:stretch}.ex-flex-1{flex:1 1 0%}.ex-flex-auto{flex:1 1 auto}.ex-flex-none{flex:none}.ex-grow{flex-grow:1}.ex-shrink-0{flex-shrink:0}.ex-m-0{margin:var(--ex-space-0)}.ex-m-1{margin:var(--ex-space-1)}.ex-m-2{margin:var(--ex-space-2)}.ex-m-3{margin:var(--ex-space-3)}.ex-m-4{margin:var(--ex-space-4)}.ex-m-5{margin:var(--ex-space-5)}.ex-m-6{margin:var(--ex-space-6)}.ex-m-8{margin:var(--ex-space-8)}.ex-mx-auto{margin-left:auto;margin-right:auto}.ex-my-0{margin-top:var(--ex-space-0);margin-bottom:var(--ex-space-0)}.ex-my-2{margin-top:var(--ex-space-2);margin-bottom:var(--ex-space-2)}.ex-my-4{margin-top:var(--ex-space-4);margin-bottom:var(--ex-space-4)}.ex-mt-0{margin-top:var(--ex-space-0)}.ex-mt-1{margin-top:var(--ex-space-1)}.ex-mt-2{margin-top:var(--ex-space-2)}.ex-mt-3{margin-top:var(--ex-space-3)}.ex-mt-4{margin-top:var(--ex-space-4)}.ex-mt-6{margin-top:var(--ex-space-6)}.ex-mt-8{margin-top:var(--ex-space-8)}.ex-mb-0{margin-bottom:var(--ex-space-0)}.ex-mb-1{margin-bottom:var(--ex-space-1)}.ex-mb-2{margin-bottom:var(--ex-space-2)}.ex-mb-3{margin-bottom:var(--ex-space-3)}.ex-mb-4{margin-bottom:var(--ex-space-4)}.ex-mb-6{margin-bottom:var(--ex-space-6)}.ex-mb-8{margin-bottom:var(--ex-space-8)}.ex-ml-0{margin-left:var(--ex-space-0)}.ex-ml-1{margin-left:var(--ex-space-1)}.ex-ml-2{margin-left:var(--ex-space-2)}.ex-ml-3{margin-left:var(--ex-space-3)}.ex-ml-4{margin-left:var(--ex-space-4)}.ex-ml-auto{margin-left:auto}.ex-mr-0{margin-right:var(--ex-space-0)}.ex-mr-1{margin-right:var(--ex-space-1)}.ex-mr-2{margin-right:var(--ex-space-2)}.ex-mr-3{margin-right:var(--ex-space-3)}.ex-mr-4{margin-right:var(--ex-space-4)}.ex-mr-auto{margin-right:auto}.ex-p-0{padding:var(--ex-space-0)}.ex-p-1{padding:var(--ex-space-1)}.ex-p-2{padding:var(--ex-space-2)}.ex-p-3{padding:var(--ex-space-3)}.ex-p-4{padding:var(--ex-space-4)}.ex-p-5{padding:var(--ex-space-5)}.ex-p-6{padding:var(--ex-space-6)}.ex-p-8{padding:var(--ex-space-8)}.ex-px-0{padding-left:var(--ex-space-0);padding-right:var(--ex-space-0)}.ex-px-2{padding-left:var(--ex-space-2);padding-right:var(--ex-space-2)}.ex-px-3{padding-left:var(--ex-space-3);padding-right:var(--ex-space-3)}.ex-px-4{padding-left:var(--ex-space-4);padding-right:var(--ex-space-4)}.ex-px-6{padding-left:var(--ex-space-6);padding-right:var(--ex-space-6)}.ex-py-0{padding-top:var(--ex-space-0);padding-bottom:var(--ex-space-0)}.ex-py-1{padding-top:var(--ex-space-1);padding-bottom:var(--ex-space-1)}.ex-py-2{padding-top:var(--ex-space-2);padding-bottom:var(--ex-space-2)}.ex-py-3{padding-top:var(--ex-space-3);padding-bottom:var(--ex-space-3)}.ex-py-4{padding-top:var(--ex-space-4);padding-bottom:var(--ex-space-4)}.ex-py-6{padding-top:var(--ex-space-6);padding-bottom:var(--ex-space-6)}.ex-pt-0{padding-top:var(--ex-space-0)}.ex-pt-2{padding-top:var(--ex-space-2)}.ex-pt-4{padding-top:var(--ex-space-4)}.ex-pt-6{padding-top:var(--ex-space-6)}.ex-pb-0{padding-bottom:var(--ex-space-0)}.ex-pb-2{padding-bottom:var(--ex-space-2)}.ex-pb-4{padding-bottom:var(--ex-space-4)}.ex-pb-6{padding-bottom:var(--ex-space-6)}.ex-pl-0{padding-left:var(--ex-space-0)}.ex-pl-2{padding-left:var(--ex-space-2)}.ex-pl-4{padding-left:var(--ex-space-4)}.ex-pr-0{padding-right:var(--ex-space-0)}.ex-pr-2{padding-right:var(--ex-space-2)}.ex-pr-4{padding-right:var(--ex-space-4)}.ex-gap-0{gap:var(--ex-space-0)}.ex-gap-1{gap:var(--ex-space-1)}.ex-gap-2{gap:var(--ex-space-2)}.ex-gap-3{gap:var(--ex-space-3)}.ex-gap-4{gap:var(--ex-space-4)}.ex-gap-5{gap:var(--ex-space-5)}.ex-gap-6{gap:var(--ex-space-6)}.ex-gap-8{gap:var(--ex-space-8)}.ex-w-full{width:100%}.ex-w-auto{width:auto}.ex-w-screen{width:100vw}.ex-h-full{height:100%}.ex-h-auto{height:auto}.ex-h-screen{height:100vh}.ex-min-h-0{min-height:0}.ex-min-h-full{min-height:100%}.ex-min-h-screen{min-height:100vh}.ex-max-w-sm{max-width:var(--ex-modal-width-sm)}.ex-max-w-md{max-width:var(--ex-modal-width-md)}.ex-max-w-lg{max-width:var(--ex-modal-width-lg)}.ex-max-w-xl{max-width:var(--ex-modal-width-xl)}.ex-max-w-full{max-width:100%}.ex-text-xs{font-size:var(--ex-font-xs)}.ex-text-sm{font-size:var(--ex-font-sm)}.ex-text-base{font-size:var(--ex-font-base)}.ex-text-md{font-size:var(--ex-font-md)}.ex-text-lg{font-size:var(--ex-font-lg)}.ex-text-xl{font-size:var(--ex-font-xl)}.ex-text-2xl{font-size:var(--ex-font-2xl)}.ex-text-3xl{font-size:var(--ex-font-3xl)}.ex-font-normal{font-weight:var(--ex-font-weight-normal)}.ex-font-medium{font-weight:var(--ex-font-weight-medium)}.ex-font-semibold{font-weight:var(--ex-font-weight-semibold)}.ex-font-bold{font-weight:var(--ex-font-weight-bold)}.ex-text-primary{color:var(--ex-text-primary)}.ex-text-secondary{color:var(--ex-text-secondary)}.ex-text-tertiary{color:var(--ex-text-tertiary)}.ex-text-muted{color:var(--ex-text-muted)}.ex-text-disabled{color:var(--ex-text-disabled)}.ex-text-inverse{color:var(--ex-text-inverse)}.ex-text-success{color:var(--ex-success)}.ex-text-warning{color:var(--ex-warning)}.ex-text-danger{color:var(--ex-danger)}.ex-text-info{color:var(--ex-info)}.ex-text-left{text-align:left}.ex-text-center{text-align:center}.ex-text-right{text-align:right}.ex-leading-tight{line-height:var(--ex-line-height-tight)}.ex-leading-normal{line-height:var(--ex-line-height-normal)}.ex-leading-relaxed{line-height:var(--ex-line-height-relaxed)}.ex-uppercase{text-transform:uppercase}.ex-lowercase{text-transform:lowercase}.ex-capitalize{text-transform:capitalize}.ex-normal-case{text-transform:none}.ex-underline{text-decoration:underline}.ex-line-through{text-decoration:line-through}.ex-no-underline{text-decoration:none}.ex-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-whitespace-nowrap{white-space:nowrap}.ex-whitespace-normal{white-space:normal}.ex-break-words{word-wrap:break-word;overflow-wrap:break-word}.ex-bg-primary{background-color:var(--ex-bg-primary)}.ex-bg-secondary{background-color:var(--ex-bg-secondary)}.ex-bg-tertiary{background-color:var(--ex-bg-tertiary)}.ex-bg-dark{background-color:var(--ex-bg-dark)}.ex-bg-darker{background-color:var(--ex-bg-darker)}.ex-bg-transparent{background-color:transparent}.ex-bg-success-light{background-color:var(--ex-success-light)}.ex-bg-warning-light{background-color:var(--ex-warning-light)}.ex-bg-danger-light{background-color:var(--ex-danger-light)}.ex-bg-info-light{background-color:var(--ex-info-light)}.ex-border{border:1px solid var(--ex-border-default)}.ex-border-0{border:none}.ex-border-t{border-top:1px solid var(--ex-border-default)}.ex-border-b{border-bottom:1px solid var(--ex-border-default)}.ex-border-l{border-left:1px solid var(--ex-border-default)}.ex-border-r{border-right:1px solid var(--ex-border-default)}.ex-border-2{border-width:2px}.ex-border-light{border-color:var(--ex-border-light)}.ex-border-dark{border-color:var(--ex-border-dark)}.ex-border-primary{border-color:var(--ex-primary)}.ex-border-success{border-color:var(--ex-success)}.ex-border-warning{border-color:var(--ex-warning)}.ex-border-danger{border-color:var(--ex-danger)}.ex-border-transparent{border-color:transparent}.ex-rounded-none{border-radius:var(--ex-radius-none)}.ex-rounded-sm{border-radius:var(--ex-radius-sm)}.ex-rounded,.ex-rounded-md{border-radius:var(--ex-radius-md)}.ex-rounded-lg{border-radius:var(--ex-radius-lg)}.ex-rounded-xl{border-radius:var(--ex-radius-xl)}.ex-rounded-2xl{border-radius:var(--ex-radius-2xl)}.ex-rounded-full{border-radius:var(--ex-radius-full)}.ex-shadow-none{box-shadow:none}.ex-shadow-xs{box-shadow:var(--ex-shadow-xs)}.ex-shadow-sm{box-shadow:var(--ex-shadow-sm)}.ex-shadow,.ex-shadow-md{box-shadow:var(--ex-shadow-md)}.ex-shadow-lg{box-shadow:var(--ex-shadow-lg)}.ex-shadow-xl{box-shadow:var(--ex-shadow-xl)}.ex-shadow-2xl{box-shadow:var(--ex-shadow-2xl)}.ex-relative{position:relative}.ex-absolute{position:absolute}.ex-fixed{position:fixed}.ex-sticky{position:sticky}.ex-static{position:static}.ex-inset-0{top:0;right:0;bottom:0;left:0}.ex-top-0{top:0}.ex-right-0{right:0}.ex-bottom-0{bottom:0}.ex-left-0{left:0}.ex-overflow-auto{overflow:auto}.ex-overflow-hidden{overflow:hidden}.ex-overflow-visible{overflow:visible}.ex-overflow-scroll{overflow:scroll}.ex-overflow-x-auto{overflow-x:auto}.ex-overflow-y-auto{overflow-y:auto}.ex-overflow-x-hidden{overflow-x:hidden}.ex-overflow-y-hidden{overflow-y:hidden}.ex-cursor-pointer{cursor:pointer}.ex-cursor-default{cursor:default}.ex-cursor-not-allowed{cursor:not-allowed}.ex-cursor-grab{cursor:grab}.ex-cursor-grabbing{cursor:grabbing}.ex-cursor-move{cursor:move}.ex-cursor-text{cursor:text}.ex-cursor-help{cursor:help}.ex-cursor-wait{cursor:wait}.ex-cursor-progress{cursor:progress}.ex-cursor-crosshair{cursor:crosshair}.ex-cursor-zoom-in{cursor:zoom-in}.ex-cursor-zoom-out{cursor:zoom-out}.ex-cursor-col-resize{cursor:col-resize}.ex-cursor-row-resize{cursor:row-resize}.ex-cursor-ew-resize{cursor:ew-resize}.ex-cursor-ns-resize{cursor:ns-resize}.ex-cursor-nesw-resize{cursor:nesw-resize}.ex-cursor-nwse-resize{cursor:nwse-resize}.ex-cursor-copy{cursor:copy}.ex-cursor-alias{cursor:alias}.ex-cursor-context-menu{cursor:context-menu}.ex-cursor-cell{cursor:cell}.ex-cursor-vertical-text{cursor:vertical-text}.ex-cursor-no-drop{cursor:no-drop}.ex-pointer-events-none{pointer-events:none}.ex-pointer-events-auto{pointer-events:auto}.ex-select-none{-webkit-user-select:none;user-select:none}.ex-select-text{-webkit-user-select:text;user-select:text}.ex-select-all{-webkit-user-select:all;user-select:all}.ex-selection-primary::selection{background-color:var(--selection-bg, rgba(102, 126, 234, .3));color:var(--selection-text, inherit)}.ex-selection-primary::-moz-selection{background-color:var(--selection-bg, rgba(102, 126, 234, .3));color:var(--selection-text, inherit)}.ex-selection-success::selection{background-color:#10b9814d;color:inherit}.ex-selection-success::-moz-selection{background-color:#10b9814d;color:inherit}.ex-selection-warning::selection{background-color:#f59e0b59;color:inherit}.ex-selection-warning::-moz-selection{background-color:#f59e0b59;color:inherit}.ex-selection-error::selection{background-color:#ef44444d;color:inherit}.ex-selection-error::-moz-selection{background-color:#ef44444d;color:inherit}.ex-selection-info::selection{background-color:#3b82f64d;color:inherit}.ex-selection-info::-moz-selection{background-color:#3b82f64d;color:inherit}.ex-selection-muted::selection{background-color:var(--selection-disabled-bg, rgba(156, 163, 175, .3));color:var(--selection-disabled-text, inherit)}.ex-selection-muted::-moz-selection{background-color:var(--selection-disabled-bg, rgba(156, 163, 175, .3));color:var(--selection-disabled-text, inherit)}.ex-selection-inverse::selection{background-color:#ffffff4d;color:inherit}.ex-selection-inverse::-moz-selection{background-color:#ffffff4d;color:inherit}.ex-opacity-0{opacity:0}.ex-opacity-25{opacity:.25}.ex-opacity-50{opacity:.5}.ex-opacity-75{opacity:.75}.ex-opacity-100{opacity:1}.ex-transition{transition:all var(--ex-transition-base)}.ex-transition-fast{transition:all var(--ex-transition-fast)}.ex-transition-slow{transition:all var(--ex-transition-slow)}.ex-transition-smooth{transition:all var(--ex-transition-smooth)}.ex-transition-none{transition:none}.ex-scale-95{transform:scale(.95)}.ex-scale-100{transform:scale(1)}.ex-scale-105{transform:scale(1.05)}.ex-scale-110{transform:scale(1.1)}.ex-track-inserted{background-color:var(--ex-track-insert-bg);color:var(--ex-track-insert-text);padding:1px 2px;border-radius:2px}.ex-track-deleted{background-color:var(--ex-track-delete-bg);color:var(--ex-track-delete-text);text-decoration:line-through;padding:1px 2px;border-radius:2px}.ex-track-modified{background-color:var(--ex-track-modify-bg);color:var(--ex-track-modify-text);padding:1px 2px;border-radius:2px}.ex-track-marker{display:inline-block;width:3px;height:1em;background-color:currentColor;border-radius:2px;margin-right:4px;vertical-align:middle}.ex-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:var(--ex-space-2);padding:10px 20px;font-family:inherit;font-size:var(--ex-font-base);font-weight:var(--ex-font-weight-medium);line-height:1;text-decoration:none;border:none;border-radius:var(--ex-radius-md);cursor:pointer;transition:all var(--ex-transition-base);white-space:nowrap;-webkit-user-select:none;user-select:none}.ex-btn:focus{outline:none;box-shadow:var(--ex-shadow-focus)}.ex-btn:active:not(:disabled){transform:scale(.97)}.ex-btn:disabled,.ex-btn.ex-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ex-ripple-container{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;border-radius:inherit;pointer-events:none}.ex-ripple{position:absolute;border-radius:50%;background-color:currentColor;opacity:.2;transform:scale(0);animation:ex-ripple-animation .6s ease-out forwards;pointer-events:none}@keyframes ex-ripple-animation{to{transform:scale(1);opacity:0}}.ex-btn-primary{background-color:var(--ex-primary);color:var(--ex-text-inverse)}.ex-btn-primary:hover:not(:disabled){background-color:var(--ex-primary-hover)}.ex-btn-secondary{background-color:var(--ex-bg-tertiary);color:var(--ex-text-secondary)}.ex-btn-secondary:hover:not(:disabled){background-color:var(--ex-bg-active)}.ex-btn-outline{background-color:transparent;color:var(--ex-text-secondary);border:1px solid var(--ex-border-default)}.ex-btn-outline:hover:not(:disabled){background-color:var(--ex-bg-hover);border-color:var(--ex-border-dark)}.ex-btn-ghost{background-color:transparent;color:var(--ex-text-secondary)}.ex-btn-ghost:hover:not(:disabled){background-color:var(--ex-bg-hover)}.ex-btn-danger{background-color:var(--ex-danger);color:var(--ex-text-inverse)}.ex-btn-danger:hover:not(:disabled){background-color:var(--ex-danger-hover)}.ex-btn-success{background-color:var(--ex-success);color:var(--ex-text-inverse)}.ex-btn-success:hover:not(:disabled){background-color:var(--ex-success-hover)}.ex-btn-light{background-color:#ffffff1a;color:var(--ex-text-primary);border:1px solid var(--ex-border-default)}.ex-btn-light:hover:not(:disabled){background-color:#fff3;border-color:var(--ex-border-dark)}.ex-btn-light:active:not(:disabled){background-color:#ffffff26}.ex-btn-dark{background-color:#0000000d;color:var(--ex-text-secondary)}.ex-btn-dark:hover:not(:disabled){background-color:#0000001a}.ex-btn-dark:active:not(:disabled){background-color:#00000026}.ex-btn-sm{padding:6px 12px;font-size:var(--ex-font-sm)}.ex-btn-lg{padding:14px 28px;font-size:var(--ex-font-md)}.ex-btn-icon{padding:var(--ex-space-2);width:var(--ex-toolbar-btn-size);height:var(--ex-toolbar-btn-size)}.ex-btn-icon.ex-btn-sm{width:28px;height:28px;padding:4px}.ex-btn-icon.ex-btn-lg{width:44px;height:44px;padding:var(--ex-space-3)}.ex-btn-glass{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ex-text-inverse);border:1px solid rgba(255,255,255,.2)}.ex-btn-glass:hover:not(:disabled){background:#ffffff40;border-color:#ffffff4d}.ex-btn-fullwidth{width:100%}.ex-btn-loading{position:relative;pointer-events:none}.ex-btn-spinner{display:inline-flex;align-items:center;justify-content:center}.ex-btn-spinner .ex-spinner{width:16px;height:16px;animation:ex-spin .8s linear infinite}.ex-btn-icon-left,.ex-btn-icon-right{display:inline-flex;align-items:center}@keyframes ex-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ex-btn-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:var(--ex-font-weight-semibold);color:#fff;background-color:var(--ex-color-danger, #e53e3e);border-radius:9px;margin-left:var(--ex-space-2)}.ex-btn-icon .ex-btn-badge{position:absolute;top:-4px;right:-4px;margin-left:0}@keyframes ex-modal-overlay-enter{0%{opacity:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}to{opacity:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}@keyframes ex-modal-overlay-exit{0%{opacity:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}to{opacity:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}}@keyframes ex-modal-enter{0%{opacity:0;transform:translateY(40px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ex-modal-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}.ex-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--ex-z-modal-backdrop);padding:var(--ex-space-4);animation:ex-modal-overlay-enter .35s ease-out forwards}.ex-modal-overlay.ex-modal-closing{animation:ex-modal-overlay-exit .25s ease-in forwards}.ex-modal{position:relative;background-color:var(--ex-bg-primary);border-radius:var(--ex-radius-xl);box-shadow:var(--ex-shadow-2xl);width:100%;max-width:var(--ex-modal-width-md);max-height:calc(100vh - var(--ex-space-8));display:flex;flex-direction:column;overflow:hidden;animation:ex-modal-enter .4s cubic-bezier(.16,1,.3,1) forwards;z-index:var(--ex-z-modal)}.ex-modal-closing .ex-modal{animation:ex-modal-exit .25s ease-in forwards}@media(prefers-reduced-motion:reduce){.ex-modal-overlay{animation:ex-fade-in .01ms ease forwards}.ex-modal-overlay.ex-modal-closing{animation:ex-fade-out .01ms ease forwards}.ex-modal{animation:ex-fade-in .01ms ease forwards}.ex-modal-closing .ex-modal{animation:ex-fade-out .01ms ease forwards}}.ex-modal-sm{max-width:var(--ex-modal-width-sm)}.ex-modal-lg{max-width:var(--ex-modal-width-lg)}.ex-modal-xl{max-width:var(--ex-modal-width-xl)}.ex-modal-full{max-width:var(--ex-modal-width-full)}.ex-modal-fullscreen{max-width:100%;max-height:100%;height:100%;border-radius:0}.ex-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ex-space-5) var(--ex-space-6);border-bottom:1px solid var(--ex-border-light);flex-shrink:0}.ex-modal-title{margin:0;font-size:var(--ex-font-lg);font-weight:var(--ex-font-weight-semibold);color:var(--ex-text-primary)}.ex-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--ex-radius-md);color:var(--ex-text-tertiary);cursor:pointer;transition:all var(--ex-transition-fast);font-size:24px;line-height:1}.ex-modal-close:hover{background-color:var(--ex-bg-hover);color:var(--ex-text-primary)}.ex-modal-body{flex:1;padding:var(--ex-space-6);overflow-y:auto}.ex-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ex-space-3);padding:var(--ex-space-4) var(--ex-space-6);border-top:1px solid var(--ex-border-light);flex-shrink:0}.ex-modal-footer-left{justify-content:flex-start}.ex-modal-footer-between{justify-content:space-between}.ex-modal-custom-bg{background-color:transparent}.ex-modal-custom-bg .ex-modal-header{background:transparent;border-bottom-color:#ffffff26}.ex-modal-custom-bg .ex-modal-title{color:inherit}.ex-modal-custom-bg .ex-modal-close{color:inherit;opacity:.8}.ex-modal-custom-bg .ex-modal-close:hover{background-color:#ffffff1a;opacity:1}.ex-modal-custom-bg .ex-modal-footer{background:#0000001a;border-top-color:#ffffff1a}.ex-confirm-dialog .ex-modal-body{padding:0}.ex-confirm-content{padding:var(--ex-space-6)}.ex-confirm-body{display:flex;gap:var(--ex-space-4);align-items:flex-start}.ex-confirm-icon-wrapper{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;animation:ex-confirm-icon-pop .3s ease-out}.ex-confirm-icon{width:24px;height:24px}.ex-confirm-icon-danger{background-color:#ef44441a;color:var(--ex-danger)}.ex-confirm-icon-warning{background-color:#f59e0b1a;color:var(--ex-warning)}.ex-confirm-icon-primary{background-color:#667eea1a;color:var(--ex-primary)}@keyframes ex-confirm-icon-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.ex-confirm-text{flex:1;min-width:0}.ex-confirm-message{margin:0;font-size:var(--ex-font-base);font-weight:var(--ex-font-weight-medium);color:var(--ex-text-primary);line-height:1.5}.ex-confirm-details{margin:var(--ex-space-2) 0 0 0;font-size:var(--ex-font-sm);color:var(--ex-text-secondary);line-height:1.5}.ex-confirm-input-section{margin-top:var(--ex-space-5);padding-top:var(--ex-space-4);border-top:1px solid var(--ex-border-light)}.ex-confirm-input-label{display:block;margin-bottom:var(--ex-space-2);font-size:var(--ex-font-sm);color:var(--ex-text-secondary)}.ex-confirm-input-label strong{color:var(--ex-text-primary);font-family:var(--ex-font-mono);background-color:var(--ex-bg-tertiary);padding:2px 6px;border-radius:var(--ex-radius-sm)}.ex-confirm-input{width:100%}.ex-confirm-actions{display:flex;justify-content:flex-end;gap:var(--ex-space-3);margin-top:var(--ex-space-6);padding-top:var(--ex-space-4);border-top:1px solid var(--ex-border-light)}.ex-confirm-dialog-danger .ex-modal-title{color:var(--ex-danger)}.ex-confirm-dialog-warning .ex-modal-title{color:var(--ex-warning)}.ex-tabs{display:flex;flex-direction:column;width:100%}.ex-tab-list{display:flex;position:relative;background:var(--collections-overlay, rgba(255, 255, 255, .15));border-radius:var(--ex-radius-full);padding:var(--ex-space-1);gap:0;border:1px solid var(--collections-border, rgba(255, 255, 255, .2))}.ex-tab-list-light{background:var(--ex-bg-tertiary);border:1px solid var(--ex-border-light);-webkit-backdrop-filter:none;backdrop-filter:none}.ex-tab-list:before{content:"";position:absolute;top:var(--ex-space-1);left:var(--ex-space-1);height:calc(100% - var(--ex-space-2));background:var(--ex-bg-primary);border-radius:calc(var(--ex-radius-full) - 4px);transition:left var(--ex-transition-smooth),width var(--ex-transition-smooth);box-shadow:var(--ex-shadow-sm);z-index:0}.ex-tab-list[data-tab-count="2"]:before{width:calc((100% - var(--ex-space-2)) / 2)}.ex-tab-list[data-tab-count="3"]:before{width:calc((100% - var(--ex-space-2)) / 3)}.ex-tab-list[data-tab-count="4"]:before{width:calc((100% - var(--ex-space-2)) / 4)}.ex-tab-list[data-tab-count="5"]:before{width:calc((100% - var(--ex-space-2)) / 5)}.ex-tab-list[data-tab-count="6"]:before{width:calc((100% - var(--ex-space-2)) / 6)}.ex-tab-list[data-active-index="0"]:before{left:var(--ex-space-1)}.ex-tab-list[data-tab-count="2"][data-active-index="1"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) / 2)}.ex-tab-list[data-tab-count="3"][data-active-index="1"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) / 3)}.ex-tab-list[data-tab-count="3"][data-active-index="2"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) * 2 / 3)}.ex-tab-list[data-tab-count="4"][data-active-index="1"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) / 4)}.ex-tab-list[data-tab-count="4"][data-active-index="2"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) * 2 / 4)}.ex-tab-list[data-tab-count="4"][data-active-index="3"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) * 3 / 4)}.ex-tab-list[data-tab-count="5"][data-active-index="1"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) / 5)}.ex-tab-list[data-tab-count="5"][data-active-index="2"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) * 2 / 5)}.ex-tab-list[data-tab-count="5"][data-active-index="3"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) * 3 / 5)}.ex-tab-list[data-tab-count="5"][data-active-index="4"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) * 4 / 5)}.ex-tab-list[data-tab-count="6"][data-active-index="1"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) / 6)}.ex-tab-list[data-tab-count="6"][data-active-index="2"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) * 2 / 6)}.ex-tab-list[data-tab-count="6"][data-active-index="3"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) * 3 / 6)}.ex-tab-list[data-tab-count="6"][data-active-index="4"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) * 4 / 6)}.ex-tab-list[data-tab-count="6"][data-active-index="5"]:before{left:calc(var(--ex-space-1) + (100% - var(--ex-space-2)) * 5 / 6)}.ex-tab{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;gap:var(--ex-space-2);background:transparent;border:none;color:var(--collections-text-muted, rgba(255, 255, 255, .8));padding:var(--ex-space-2) var(--ex-space-6);border-radius:calc(var(--ex-radius-full) - 4px);cursor:pointer;font-family:inherit;font-size:var(--ex-font-base);font-weight:var(--ex-font-weight-semibold);transition:color var(--ex-transition-slow);min-width:80px;white-space:nowrap}.ex-tab:hover{color:var(--collections-text, rgba(255, 255, 255, 1))}.ex-tab-active{color:var(--ex-text-primary)}.ex-tab:focus{outline:none}.ex-tab:focus-visible{outline:2px solid var(--ex-primary);outline-offset:-2px;border-radius:var(--ex-radius-sm)}.ex-tab-list-light .ex-tab{color:var(--ex-text-tertiary)}.ex-tab-list-light .ex-tab:hover:not(.ex-tab-active){color:var(--ex-text-secondary)}.ex-tab-list-light .ex-tab-active{color:var(--ex-text-primary)}.ex-tab-badge{display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--ex-danger);color:var(--ex-text-inverse);border-radius:var(--ex-radius-full);font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-bold);box-shadow:var(--ex-shadow-sm)}.ex-tab-active .ex-tab-badge{background:var(--ex-danger-hover)}.ex-tab-panels{overflow:hidden;width:100%}.ex-tab-panel-slider{display:flex;transition:transform .4s var(--ex-transition-smooth)}.ex-tab-panel-slider[data-panel-count="2"]{width:200%}.ex-tab-panel-slider[data-panel-count="3"]{width:300%}.ex-tab-panel-slider[data-panel-count="4"]{width:400%}.ex-tab-panel-slider[data-panel-count="5"]{width:500%}.ex-tab-panel-slider[data-panel-count="6"]{width:600%}.ex-tab-panel-slider[data-active-index="0"]{transform:translate(0)}.ex-tab-panel-slider[data-panel-count="2"][data-active-index="1"]{transform:translate(-50%)}.ex-tab-panel-slider[data-panel-count="3"][data-active-index="1"]{transform:translate(-33.333%)}.ex-tab-panel-slider[data-panel-count="3"][data-active-index="2"]{transform:translate(-66.666%)}.ex-tab-panel-slider[data-panel-count="4"][data-active-index="1"]{transform:translate(-25%)}.ex-tab-panel-slider[data-panel-count="4"][data-active-index="2"]{transform:translate(-50%)}.ex-tab-panel-slider[data-panel-count="4"][data-active-index="3"]{transform:translate(-75%)}.ex-tab-panel-slider[data-panel-count="5"][data-active-index="1"]{transform:translate(-20%)}.ex-tab-panel-slider[data-panel-count="5"][data-active-index="2"]{transform:translate(-40%)}.ex-tab-panel-slider[data-panel-count="5"][data-active-index="3"]{transform:translate(-60%)}.ex-tab-panel-slider[data-panel-count="5"][data-active-index="4"]{transform:translate(-80%)}.ex-tab-panel{flex-shrink:0}.ex-tab-panel-slider[data-panel-count="2"] .ex-tab-panel{width:50%}.ex-tab-panel-slider[data-panel-count="3"] .ex-tab-panel{width:33.333%}.ex-tab-panel-slider[data-panel-count="4"] .ex-tab-panel{width:25%}.ex-tab-panel-slider[data-panel-count="5"] .ex-tab-panel{width:20%}.ex-tab-panel-slider[data-panel-count="6"] .ex-tab-panel{width:16.666%}.ex-tab-panel-simple{display:none}.ex-tab-panel-simple.ex-tab-panel-active{display:block}.ex-tab-list-icon-only{gap:0;padding:var(--ex-space-1)}.ex-tab-list-icon-only .ex-tab{min-width:unset;padding:var(--ex-space-2);flex:1;gap:0}.ex-tab-list-icon-only .ex-tab-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.ex-tab-list-icon-only .ex-tab-icon .material-icons{font-size:20px;line-height:1}.ex-tab-icon{display:flex;align-items:center;justify-content:center;line-height:1}.ex-tab-icon .material-icons{font-size:18px;line-height:1}.ex-tab-list.attached-to-top{border-radius:0 0 var(--ex-radius-lg) var(--ex-radius-lg);margin-bottom:auto;background:transparent;padding:.25em}.ex-tabs:has(>.ex-tab-list.attached-to-top){width:auto}.ex-tab-list.attached-to-top:before{border-radius:0 0 var(--ex-radius-lg) var(--ex-radius-lg)}.ex-tab-list.attached-to-bottom{border-radius:var(--ex-radius-lg) var(--ex-radius-lg) 0 0;margin-top:auto}.ex-tab-list.attached-to-bottom:before{border-radius:var(--ex-radius-lg) var(--ex-radius-lg) 0 0}.ex-sidebar{position:relative;display:flex;flex-direction:column;height:100%;background-color:var(--ex-bg-primary);transition:width var(--ex-transition-base),transform var(--ex-transition-base);z-index:var(--ex-z-sidebar);overflow:visible}.ex-sidebar-left{border-right:1px solid var(--ex-border-light)}.ex-sidebar-right{border-left:1px solid var(--ex-border-light)}.ex-sidebar-dark{background-color:var(--ex-bg-dark);color:var(--ex-text-inverse)}.ex-sidebar-dark .ex-sidebar-header,.ex-sidebar-dark .ex-sidebar-footer{border-color:#ffffff1a}.ex-sidebar-light{background-color:var(--right-sidebar-bg, var(--bg-secondary, #f9f9f9));color:var(--right-sidebar-text, var(--text-primary))}.ex-sidebar-light .ex-sidebar-header,.ex-sidebar-light .ex-sidebar-footer{border-color:var(--right-sidebar-border, var(--border-primary))}.ex-sidebar-light .ex-sidebar-toggle{background-color:var(--bg-hover, rgba(0, 0, 0, .03));border-color:var(--right-sidebar-border, var(--border-primary))}.ex-sidebar-light .ex-sidebar-toggle:hover{background-color:var(--bg-active, rgba(0, 0, 0, .08))}.ex-sidebar-light .ex-sidebar-toggle-icon{color:var(--text-muted, #999)}.ex-sidebar-light .ex-sidebar-toggle:hover .ex-sidebar-toggle-icon{color:var(--text-secondary, #666)}.ex-sidebar-accent-bar{position:absolute;top:0;bottom:0;width:10px;background-color:var(--ex-sidebar-accent-color);flex-shrink:0;z-index:1}.ex-sidebar-left .ex-sidebar-accent-bar{left:0}.ex-sidebar-right .ex-sidebar-accent-bar{right:0}.ex-sidebar-collapsed .ex-sidebar-accent-bar{display:none}.ex-sidebar{width:var(--ex-sidebar-width);transition:width var(--ex-transition-smooth),min-width var(--ex-transition-smooth)}.ex-sidebar-collapsed{width:var(--ex-sidebar-toggle-width);min-width:var(--ex-sidebar-toggle-width);overflow:hidden}.ex-sidebar-collapsed .ex-sidebar-content,.ex-sidebar-collapsed .ex-sidebar-header,.ex-sidebar-collapsed .ex-sidebar-footer{opacity:0;pointer-events:none;visibility:hidden}.ex-sidebar-header{padding:var(--ex-space-4);border-bottom:1px solid var(--ex-border-light);flex-shrink:0;transition:opacity var(--ex-transition-fast),visibility var(--ex-transition-fast)}.ex-sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;transition:opacity var(--ex-transition-fast),visibility var(--ex-transition-fast)}.ex-sidebar-footer{padding:var(--ex-space-4);border-top:1px solid var(--ex-border-light);flex-shrink:0;transition:opacity var(--ex-transition-fast),visibility var(--ex-transition-fast)}.ex-sidebar-toggle{position:absolute;top:0;bottom:0;width:var(--ex-sidebar-toggle-width);background:linear-gradient(90deg,var(--ex-bg-tertiary),var(--ex-bg-secondary),var(--ex-bg-tertiary));border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--ex-transition-fast),width var(--ex-transition-fast);z-index:10;padding:0}.ex-sidebar-left .ex-sidebar-toggle{right:calc(var(--ex-sidebar-toggle-width) * -1);border-left:1px solid var(--ex-border-light)}.ex-sidebar-right .ex-sidebar-toggle{left:calc(var(--ex-sidebar-toggle-width) * -1);border-right:1px solid var(--ex-border-light)}.ex-sidebar-left{margin-right:var(--ex-sidebar-toggle-width)}.ex-sidebar-right{margin-left:var(--ex-sidebar-toggle-width)}.ex-sidebar-toggle:hover{background-color:var(--ex-bg-active)}.ex-sidebar-toggle{cursor:ew-resize}.ex-sidebar-dragging{-webkit-user-select:none;user-select:none}.ex-sidebar-snapping{transition:width .1s ease-out}.ex-sidebar-collapse-zone{opacity:.6}.ex-sidebar-collapse-zone .ex-sidebar-toggle,.ex-sidebar-toggle.dragging{background-color:var(--ex-accent-primary, var(--ex-bg-active))}.ex-sidebar-toggle-icon{font-size:12px;color:#666;transition:transform var(--ex-transition-base)}.ex-sidebar-collapsed .ex-sidebar-toggle{right:0;left:0;width:100%;border:none}.ex-sidebar-collapsed.ex-sidebar-left{border-right:none;margin-right:0}.ex-sidebar-collapsed.ex-sidebar-right{border-left:none;margin-left:0}.ex-sidebar-overlay{position:fixed;top:0;bottom:0;box-shadow:var(--ex-shadow-xl)}.ex-sidebar-overlay.ex-sidebar-left{left:0}.ex-sidebar-overlay.ex-sidebar-right{right:0}.ex-sidebar-overlay.ex-sidebar-collapsed{transform:translate(-100%)}.ex-sidebar-overlay.ex-sidebar-right.ex-sidebar-collapsed{transform:translate(100%)}.ex-sidebar-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:calc(var(--ex-z-sidebar) - 1);animation:ex-fade-in .2s ease}.ex-toolbar{display:flex;align-items:center;gap:var(--ex-space-1);padding:var(--ex-space-1);background-color:var(--ex-bg-primary);border-radius:var(--ex-radius-lg);box-shadow:var(--ex-shadow-lg)}.ex-toolbar-docked{border-radius:0;box-shadow:none;border-bottom:1px solid var(--ex-border-light)}.ex-toolbar-floating{position:absolute;z-index:var(--ex-z-popover);box-shadow:var(--ex-shadow-lg);border-radius:var(--ex-radius-lg)}.ex-toolbar-vertical{flex-direction:column}.ex-toolbar-group{display:flex;align-items:center;gap:var(--ex-space-1)}.ex-toolbar-vertical .ex-toolbar-group{flex-direction:column}.ex-toolbar-divider{width:1px;height:24px;background-color:var(--ex-border-light);margin:0 var(--ex-space-1)}.ex-toolbar-vertical .ex-toolbar-divider{width:24px;height:1px;margin:var(--ex-space-1) 0}.ex-toolbar-btn{display:flex;align-items:center;justify-content:center;width:var(--ex-toolbar-btn-size);height:var(--ex-toolbar-btn-size);padding:0;background:transparent;border:none;border-radius:var(--ex-radius-sm);color:var(--ex-text-secondary);cursor:pointer;transition:all var(--ex-transition-fast)}.ex-toolbar-btn:hover{background-color:var(--ex-bg-hover);color:var(--ex-text-primary)}.ex-toolbar-btn:active{background-color:var(--ex-bg-active)}.ex-toolbar-btn.ex-active{background-color:var(--ex-primary-light);color:var(--ex-primary)}.ex-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.ex-toolbar-btn:disabled:hover{background:transparent}.ex-toolbar-btn-text{width:auto;padding:0 var(--ex-space-3);gap:var(--ex-space-1);font-size:var(--ex-font-sm);font-weight:var(--ex-font-weight-medium)}.ex-toolbar-dark{background-color:var(--ex-bg-dark);border-color:#ffffff1a}.ex-toolbar-dark .ex-toolbar-btn{color:#fffc}.ex-toolbar-dark .ex-toolbar-btn:hover{background-color:#ffffff1a;color:var(--ex-text-inverse)}.ex-toolbar-dark .ex-toolbar-btn.ex-active{background-color:#fff3;color:var(--ex-text-inverse)}.ex-toolbar-dark .ex-toolbar-divider{background-color:#ffffff1a}.ex-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.ex-switch-input{position:absolute;opacity:0;width:0;height:0}.ex-switch-track{position:relative;width:52px;height:28px;background-color:var(--ex-bg-active);border-radius:var(--ex-radius-full);transition:background-color var(--ex-transition-base)}.ex-switch-thumb{position:absolute;top:2px;left:2px;width:24px;height:24px;background-color:var(--ex-bg-primary);border-radius:var(--ex-radius-full);box-shadow:var(--ex-shadow-sm);transition:transform var(--ex-transition-bounce)}.ex-switch-input:checked+.ex-switch-track{background-color:var(--ex-primary)}.ex-switch-input:checked+.ex-switch-track .ex-switch-thumb{transform:translate(24px)}.ex-switch-input:focus-visible+.ex-switch-track{box-shadow:var(--ex-shadow-focus)}.ex-switch.ex-disabled{opacity:.5;cursor:not-allowed}.ex-switch.ex-disabled .ex-switch-input{pointer-events:none}.ex-switch-labels{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:0 8px;font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-semibold);pointer-events:none}.ex-switch-label-on{color:var(--ex-text-inverse);opacity:0;transition:opacity var(--ex-transition-fast)}.ex-switch-label-off{color:var(--ex-text-muted);opacity:1;transition:opacity var(--ex-transition-fast)}.ex-switch-input:checked~.ex-switch-labels .ex-switch-label-on{opacity:1}.ex-switch-input:checked~.ex-switch-labels .ex-switch-label-off{opacity:0}.ex-switch-sm .ex-switch-track{width:40px;height:22px}.ex-switch-sm .ex-switch-thumb{width:18px;height:18px}.ex-switch-sm .ex-switch-input:checked+.ex-switch-track .ex-switch-thumb{transform:translate(18px)}.ex-context-menu{position:fixed;min-width:180px;background-color:var(--ex-bg-primary);border-radius:var(--ex-radius-lg);box-shadow:var(--ex-shadow-xl),0 0 1px #0000001a;padding:var(--ex-space-1) 0;z-index:var(--ex-z-popover);animation:ex-scale-in .15s ease;transform-origin:top left}.ex-context-menu-item{display:flex;align-items:center;gap:var(--ex-space-3);width:100%;padding:var(--ex-space-2) var(--ex-space-4);background:transparent;border:none;color:var(--ex-text-secondary);font-family:inherit;font-size:var(--ex-font-base);font-weight:var(--ex-font-weight-medium);text-align:left;cursor:pointer;transition:background-color var(--ex-transition-fast)}.ex-context-menu-item:hover{background-color:var(--ex-bg-hover)}.ex-context-menu-item:focus{outline:none}.ex-context-menu-item:focus-visible{outline:2px solid var(--ex-primary);outline-offset:-2px;background-color:var(--ex-bg-hover)}.ex-context-menu-item:active{background-color:var(--ex-bg-active)}.ex-context-menu-item-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--ex-text-tertiary)}.ex-context-menu-item-label{flex:1}.ex-context-menu-item-shortcut{font-size:var(--ex-font-xs);color:var(--ex-text-muted);margin-left:var(--ex-space-4)}.ex-context-menu-item-danger{color:var(--ex-danger)}.ex-context-menu-item-danger:hover{background-color:var(--ex-danger-light)}.ex-context-menu-item-danger .ex-context-menu-item-icon{color:var(--ex-danger)}.ex-context-menu-item:disabled{opacity:.5;cursor:not-allowed}.ex-context-menu-item:disabled:hover{background:transparent}.ex-context-menu-divider{height:1px;background-color:var(--ex-border-light);margin:var(--ex-space-1) 0}.ex-context-menu-submenu{position:relative}.ex-context-menu-submenu-arrow{font-size:12px;color:var(--ex-text-muted);margin-left:auto}.ex-context-menu-submenu-wrapper{display:none;position:absolute;top:0;left:100%;height:100%;padding-left:4px}.ex-context-menu-submenu:hover>.ex-context-menu-submenu-wrapper{display:block}.ex-dropdown{position:relative;display:inline-block}.ex-dropdown-trigger{cursor:pointer}.ex-dropdown-content{min-width:200px;background-color:var(--ex-bg-primary);border-radius:var(--ex-radius-lg);box-shadow:var(--ex-shadow-lg);border:1px solid var(--ex-border-light);padding:var(--ex-space-1) 0}.ex-dropdown-item{display:flex;align-items:center;gap:var(--ex-space-2);width:100%;padding:var(--ex-space-2) var(--ex-space-3);background:transparent;border:none;color:var(--ex-text-secondary);font-family:inherit;font-size:var(--ex-font-base);text-align:left;cursor:pointer;transition:background-color var(--ex-transition-fast)}.ex-dropdown-item:hover{background-color:var(--ex-bg-hover)}.ex-dropdown-item:focus{outline:none}.ex-dropdown-item:focus-visible{outline:2px solid var(--ex-primary);outline-offset:-2px;background-color:var(--ex-bg-hover)}.ex-dropdown-divider{height:1px;background-color:var(--ex-border-light);margin:var(--ex-space-1) 0}.ex-dropdown-header{padding:var(--ex-space-2) var(--ex-space-3);font-size:var(--ex-font-sm);font-weight:var(--ex-font-weight-semibold);color:var(--ex-text-tertiary)}.ex-toast-container{position:fixed;z-index:var(--ex-z-toast);display:flex;flex-direction:column;gap:var(--ex-space-2);pointer-events:none}.ex-toast-container-top-right{top:var(--ex-space-4);right:var(--ex-space-4)}.ex-toast-container-top-left{top:var(--ex-space-4);left:var(--ex-space-4)}.ex-toast-container-bottom-right{bottom:var(--ex-space-4);right:var(--ex-space-4)}.ex-toast-container-bottom-left{bottom:var(--ex-space-4);left:var(--ex-space-4)}.ex-toast-container-top-center{top:var(--ex-space-4);left:50%;transform:translate(-50%)}.ex-toast-container-bottom-center{bottom:var(--ex-space-4);left:50%;transform:translate(-50%)}.ex-toast{display:flex;align-items:flex-start;gap:var(--ex-space-3);min-width:300px;max-width:420px;padding:var(--ex-space-4);background-color:var(--ex-bg-primary);border-radius:var(--ex-radius-lg);box-shadow:var(--ex-shadow-xl);border-left:4px solid var(--ex-border-default);pointer-events:auto;animation:ex-slide-in-right .3s ease}.ex-toast-success{border-left-color:var(--ex-success)}.ex-toast-warning{border-left-color:var(--ex-warning)}.ex-toast-danger{border-left-color:var(--ex-danger)}.ex-toast-info{border-left-color:var(--ex-info)}.ex-toast-icon{flex-shrink:0;width:20px;height:20px}.ex-toast-success .ex-toast-icon{color:var(--ex-success)}.ex-toast-warning .ex-toast-icon{color:var(--ex-warning)}.ex-toast-danger .ex-toast-icon{color:var(--ex-danger)}.ex-toast-info .ex-toast-icon{color:var(--ex-info)}.ex-toast-content{flex:1;min-width:0}.ex-toast-title{font-weight:var(--ex-font-weight-semibold);color:var(--ex-text-primary);margin-bottom:var(--ex-space-1)}.ex-toast-message{font-size:var(--ex-font-sm);color:var(--ex-text-secondary)}.ex-toast-progress{display:flex;align-items:center;gap:var(--ex-space-2);margin-top:var(--ex-space-2)}.ex-toast-progress-bar{flex:1;height:6px;background-color:var(--ex-bg-tertiary);border-radius:var(--ex-radius-full);overflow:hidden}.ex-toast-progress-fill{height:100%;background-color:var(--ex-info);border-radius:var(--ex-radius-full);transition:width .2s ease}.ex-toast-success .ex-toast-progress-fill{background-color:var(--ex-success)}.ex-toast-warning .ex-toast-progress-fill{background-color:var(--ex-warning)}.ex-toast-danger .ex-toast-progress-fill{background-color:var(--ex-danger)}.ex-toast-progress-text{font-size:var(--ex-font-xs);color:var(--ex-text-muted);white-space:nowrap;min-width:48px;text-align:right}.ex-toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:var(--ex-radius-sm);color:var(--ex-text-muted);cursor:pointer;transition:all var(--ex-transition-fast)}.ex-toast-close:hover{background-color:var(--ex-bg-hover);color:var(--ex-text-primary)}.ex-toast-success .ex-toast-icon svg{animation:ex-toast-checkmark-pop .4s ease-out}@keyframes ex-toast-checkmark-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.ex-toast{--toast-stack-index: 0;--toast-stack-offset: calc(var(--toast-stack-index) * 4px);--toast-stack-scale: calc(1 - var(--toast-stack-index) * .02);--toast-stack-opacity: calc(1 - var(--toast-stack-index) * .1);transform:translateY(var(--toast-stack-offset)) scale(var(--toast-stack-scale));opacity:var(--toast-stack-opacity);transform-origin:top center;transition:transform .2s ease,opacity .2s ease}.ex-toast-container-bottom-right .ex-toast,.ex-toast-container-bottom-left .ex-toast,.ex-toast-container-bottom-center .ex-toast{--toast-stack-offset: calc(var(--toast-stack-index) * -4px);transform-origin:bottom center}.ex-toast:hover{--toast-stack-offset: 0px;--toast-stack-scale: 1;--toast-stack-opacity: 1;z-index:1}.ex-success-checkmark{display:inline-flex;align-items:center;justify-content:center}.ex-success-checkmark svg{width:100%;height:100%}.ex-success-checkmark-success{color:var(--ex-success)}.ex-success-checkmark-primary{color:var(--ex-primary)}.ex-success-checkmark-white{color:#fff}.ex-success-checkmark-draw .ex-success-checkmark-circle{stroke-dasharray:151;stroke-dashoffset:151;animation:ex-checkmark-circle-draw .4s ease-out forwards}.ex-success-checkmark-draw .ex-success-checkmark-check{stroke-dasharray:36;stroke-dashoffset:36;animation:ex-checkmark-check-draw .3s ease-out .4s forwards}@keyframes ex-checkmark-circle-draw{to{stroke-dashoffset:0}}@keyframes ex-checkmark-check-draw{to{stroke-dashoffset:0}}.ex-success-checkmark-pop{animation:ex-checkmark-pop .5s cubic-bezier(.175,.885,.32,1.275) forwards}.ex-success-checkmark-pop .ex-success-checkmark-circle{opacity:0;animation:ex-checkmark-circle-pop .3s ease-out .2s forwards}.ex-success-checkmark-pop .ex-success-checkmark-check{opacity:0;animation:ex-checkmark-check-pop .3s ease-out .35s forwards}@keyframes ex-checkmark-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes ex-checkmark-circle-pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes ex-checkmark-check-pop{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.ex-success-checkmark-bounce{animation:ex-checkmark-bounce .6s cubic-bezier(.68,-.55,.265,1.55) forwards}.ex-success-checkmark-bounce .ex-success-checkmark-circle{stroke-dasharray:151;stroke-dashoffset:151;animation:ex-checkmark-circle-draw .3s ease-out .1s forwards}.ex-success-checkmark-bounce .ex-success-checkmark-check{stroke-dasharray:36;stroke-dashoffset:36;animation:ex-checkmark-check-bounce .4s cubic-bezier(.68,-.55,.265,1.55) .3s forwards}@keyframes ex-checkmark-bounce{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.1) rotate(5deg)}70%{transform:scale(.95) rotate(-2deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes ex-checkmark-check-bounce{0%{stroke-dashoffset:36}60%{stroke-dashoffset:-5}to{stroke-dashoffset:0}}.ex-success-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#10b981e6;z-index:var(--ex-z-modal);animation:ex-success-overlay-fade-in .3s ease-out;cursor:pointer}.ex-success-overlay-content{display:flex;flex-direction:column;align-items:center;gap:16px}.ex-success-overlay-message{color:#fff;font-size:var(--ex-font-lg);font-weight:var(--ex-font-weight-medium);text-align:center;opacity:0;animation:ex-success-message-fade-in .3s ease-out .5s forwards}@keyframes ex-success-overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ex-success-message-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ex-color-picker{display:flex;flex-direction:column;gap:var(--ex-space-2)}.ex-color-picker-label{font-size:var(--ex-font-sm);font-weight:var(--ex-font-weight-medium);color:var(--ex-text-secondary)}.ex-color-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:var(--ex-space-2)}.ex-color-swatch{width:44px;height:44px;border-radius:var(--ex-radius-lg);border:3px solid transparent;cursor:pointer;transition:all var(--ex-transition-base);padding:0;position:relative}.ex-color-swatch:hover{transform:scale(1.1);box-shadow:var(--ex-shadow-md)}.ex-color-swatch.ex-selected{border-color:var(--ex-text-primary);box-shadow:0 0 0 2px var(--ex-bg-primary),0 0 0 4px var(--ex-text-primary);transform:scale(1.05)}.ex-color-swatch.ex-selected:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");background-size:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.ex-color-picker-sm .ex-color-swatch{width:28px;height:28px;border-radius:var(--ex-radius-md);border-width:2px}.ex-color-picker-sm .ex-color-swatch.ex-selected:after{width:12px;height:12px}.express-data-color-wrapper{height:var(--ex-input-height-lg)}.ex-icon-picker{display:flex;flex-direction:column;gap:var(--ex-space-3)}.ex-icon-picker-search{position:relative}.ex-icon-picker-search-input{width:100%;padding:var(--ex-space-2) var(--ex-space-3);padding-left:var(--ex-space-10);font-family:inherit;font-size:var(--ex-font-base);border:2px solid var(--ex-border-default);border-radius:var(--ex-radius-md);background-color:var(--ex-bg-primary);transition:border-color var(--ex-transition-fast)}.ex-icon-picker-search-input:focus{outline:none;border-color:var(--ex-primary);box-shadow:var(--ex-shadow-focus)}.ex-icon-picker-search-icon{position:absolute;left:var(--ex-space-3);top:50%;transform:translateY(-50%);color:var(--ex-text-muted);pointer-events:none}.ex-icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:var(--ex-space-2);max-height:280px;overflow-y:auto;padding:var(--ex-space-1);border:1px solid var(--ex-border-light);border-radius:var(--ex-radius-md);background-color:var(--ex-bg-secondary)}.ex-icon-option{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--ex-radius-md);border:2px solid transparent;cursor:pointer;transition:all var(--ex-transition-base);font-size:24px;color:var(--ex-text-secondary);background:transparent;padding:0}.ex-icon-option:hover{background-color:var(--ex-bg-hover);transform:scale(1.05)}.ex-icon-option.ex-selected{background-color:var(--ex-primary);color:var(--ex-text-inverse);border-color:var(--ex-primary-hover);box-shadow:0 0 0 2px rgba(var(--ex-primary-rgb),.2)}.ex-icon{font-family:Material Symbols Rounded!important;font-weight:700!important;margin-right:.5em}.ex-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--ex-radius-full);background-color:var(--ex-primary);color:var(--ex-text-inverse);font-weight:var(--ex-font-weight-semibold);font-size:var(--ex-font-md);overflow:hidden;flex-shrink:0}.ex-avatar-sm{width:32px;height:32px;font-size:var(--ex-font-sm)}.ex-avatar-lg{width:56px;height:56px;font-size:var(--ex-font-xl)}.ex-avatar-xl{width:80px;height:80px;font-size:var(--ex-font-2xl)}.ex-avatar img{width:100%;height:100%;object-fit:cover}.ex-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--ex-space-2);font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-bold);line-height:1;border-radius:var(--ex-radius-full);background-color:var(--ex-bg-tertiary);color:var(--ex-text-secondary)}.ex-badge-primary{background-color:var(--ex-primary);color:var(--ex-text-inverse)}.ex-badge-success{background-color:var(--ex-success);color:var(--ex-text-inverse)}.ex-badge-warning{background-color:var(--ex-warning);color:var(--ex-text-inverse)}.ex-badge-danger{background-color:var(--ex-danger);color:var(--ex-text-inverse)}.ex-badge-info{background-color:var(--ex-info);color:var(--ex-text-inverse)}.ex-badge-sm{min-width:16px;height:16px;padding:0 var(--ex-space-1);font-size:10px}.ex-badge-dot{min-width:8px;width:8px;height:8px;padding:0}.ex-badge-close{display:inline-flex;align-items:center;justify-content:center;margin-left:var(--ex-space-1);padding:0;width:14px;height:14px;font-size:12px;line-height:1;background:transparent;border:none;border-radius:var(--ex-radius-full);cursor:pointer;opacity:.7;transition:opacity var(--ex-transition-fast)}.ex-badge-close:hover{opacity:1}.ex-card{background:linear-gradient(to bottom,var(--ex-bg-primary) 0%,color-mix(in srgb,var(--ex-bg-primary) 97%,var(--ex-bg-tertiary)) 100%);border-radius:var(--ex-radius-xl);box-shadow:var(--ex-shadow-sm);border:1px solid var(--ex-border-light);overflow:hidden;transform:translateY(0);transition:transform .2s ease,box-shadow .2s ease}.ex-card-hover:hover{background:linear-gradient(to bottom,var(--ex-bg-primary) 0%,color-mix(in srgb,var(--ex-bg-primary) 94%,var(--ex-bg-tertiary)) 100%);box-shadow:var(--ex-shadow-md);transform:translateY(-2px)}.ex-card-header{padding:var(--ex-space-4) var(--ex-space-5);border-bottom:1px solid var(--ex-border-light)}.ex-card-body{padding:var(--ex-space-5)}.ex-card-footer{padding:var(--ex-space-4) var(--ex-space-5);border-top:1px solid var(--ex-border-light);background:linear-gradient(to bottom,var(--ex-bg-secondary) 0%,color-mix(in srgb,var(--ex-bg-secondary) 96%,var(--ex-bg-tertiary)) 100%)}.ex-card-no-shadow{box-shadow:none}.ex-card-no-border{border:none}.ex-card-clickable{cursor:pointer}.ex-card-body-none{padding:0}.ex-card-body-sm{padding:var(--ex-space-3)}.ex-card-body-lg{padding:var(--ex-space-8)}.ex-progress{width:100%;height:8px;background-color:var(--ex-bg-tertiary);border-radius:var(--ex-radius-full);overflow:hidden}.ex-progress-bar{height:100%;background-color:var(--ex-primary);border-radius:var(--ex-radius-full);transition:width var(--ex-transition-slow)}.ex-progress-success .ex-progress-bar{background-color:var(--ex-success)}.ex-progress-warning .ex-progress-bar{background-color:var(--ex-warning)}.ex-progress-danger .ex-progress-bar{background-color:var(--ex-danger)}.ex-progress-animated .ex-progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem;animation:ex-progress-stripes 1s linear infinite}.ex-spinner{display:inline-block;width:24px;height:24px;border:3px solid var(--ex-border-light);border-top-color:var(--ex-primary);border-radius:var(--ex-radius-full);animation:ex-spin .8s linear infinite}.ex-spinner-sm{width:16px;height:16px;border-width:2px}.ex-spinner-lg{width:40px;height:40px;border-width:4px}.ex-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#ffffffb3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--ex-z-modal)}.ex-divider{border:none;border-top:1px solid var(--ex-border-light);margin:var(--ex-space-4) 0}.ex-divider-vertical{width:1px;height:auto;border-top:none;border-left:1px solid var(--ex-border-light);margin:0 var(--ex-space-4);align-self:stretch}.ex-divider-thick{border-top-width:2px}.ex-divider-dashed{border-style:dashed}.ex-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ex-space-10);text-align:center}.ex-empty-state-icon{font-size:48px;color:var(--ex-text-disabled);margin-bottom:var(--ex-space-4)}.ex-empty-state-title{font-size:var(--ex-font-lg);font-weight:var(--ex-font-weight-semibold);color:var(--ex-text-primary);margin-bottom:var(--ex-space-2)}.ex-empty-state-description{font-size:var(--ex-font-base);color:var(--ex-text-tertiary);max-width:360px;margin-bottom:var(--ex-space-6)}.ex-skeleton{background:linear-gradient(90deg,var(--ex-bg-tertiary) 25%,var(--ex-bg-secondary) 50%,var(--ex-bg-tertiary) 75%);background-size:200% 100%;animation:ex-skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--ex-radius-sm)}.ex-skeleton-text{height:16px;margin-bottom:var(--ex-space-2)}.ex-skeleton-text:last-child{width:60%}.ex-skeleton-circle{border-radius:var(--ex-radius-full)}.ex-skeleton-rect{border-radius:var(--ex-radius-md)}.ex-accordion{border:1px solid var(--ex-border-light);border-radius:var(--ex-radius-lg);overflow:hidden}.ex-accordion-item{border-bottom:1px solid var(--ex-border-light)}.ex-accordion-item:last-child{border-bottom:none}.ex-accordion-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--ex-space-4);background:transparent;border:none;color:var(--ex-text-primary);font-family:inherit;font-size:var(--ex-font-base);font-weight:var(--ex-font-weight-medium);text-align:left;cursor:pointer;transition:background-color var(--ex-transition-fast)}.ex-accordion-trigger:hover{background-color:var(--ex-bg-hover)}.ex-accordion-trigger:focus{outline:none}.ex-accordion-trigger:focus-visible{outline:2px solid var(--ex-primary);outline-offset:-2px;background-color:var(--ex-bg-hover)}.ex-accordion-icon{transition:transform var(--ex-transition-base);color:var(--ex-text-tertiary)}.ex-accordion-item.ex-open .ex-accordion-icon{transform:rotate(180deg)}.ex-accordion-content{max-height:0;overflow:hidden;transition:max-height var(--ex-transition-slow)}.ex-accordion-item.ex-open .ex-accordion-content{max-height:500px}.ex-accordion-body{padding:0 var(--ex-space-4) var(--ex-space-4);color:var(--ex-text-secondary)}.ex-tooltip{position:relative;display:inline-block}.ex-tooltip-content{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);padding:var(--ex-space-2) var(--ex-space-3);background-color:var(--ex-bg-darker);color:var(--ex-text-inverse);font-size:var(--ex-font-sm);font-weight:var(--ex-font-weight-medium);border-radius:var(--ex-radius-md);box-shadow:var(--ex-shadow-lg);white-space:nowrap;z-index:var(--ex-z-tooltip);opacity:0;visibility:hidden;transition:all var(--ex-transition-fast)}.ex-tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--ex-bg-darker)}.ex-tooltip:hover .ex-tooltip-content{opacity:1;visibility:visible;transform:translate(-50%) translateY(-8px)}.ex-tooltip-bottom .ex-tooltip-content{bottom:auto;top:100%;transform:translate(-50%) translateY(4px)}.ex-tooltip-bottom .ex-tooltip-content:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--ex-bg-darker)}.ex-tooltip-bottom:hover .ex-tooltip-content{transform:translate(-50%) translateY(8px)}@media(prefers-reduced-motion:reduce){.ex-tooltip-content{transition-duration:.01ms}.ex-tooltip:hover .ex-tooltip-content{transform:translate(-50%) translateY(-4px)}.ex-tooltip-bottom:hover .ex-tooltip-content{transform:translate(-50%) translateY(4px)}}.ex-form-group{margin-bottom:var(--ex-space-4)}.ex-label{display:block;margin-bottom:var(--ex-space-2);font-size:var(--ex-font-sm);font-weight:var(--ex-font-weight-medium);color:var(--ex-text-secondary)}.ex-label-sm{font-size:var(--ex-font-xs)}.ex-label-lg{font-size:var(--ex-font-base)}.ex-label-required{color:var(--ex-danger);margin-left:var(--ex-space-1)}.ex-input,.ex-textarea,.ex-select{width:100%;height:var(--ex-input-height-lg);padding:var(--ex-space-2) var(--ex-space-3);font-family:inherit;font-size:var(--ex-font-base);color:var(--ex-text-primary);background-color:var(--ex-bg-primary);border:2px solid var(--ex-border-default);border-radius:var(--ex-radius-md);transition:border-color var(--ex-transition-fast),box-shadow var(--ex-transition-fast)}.ex-input:focus,.ex-textarea:focus,.ex-select:focus{outline:none;border-color:var(--ex-primary);box-shadow:var(--ex-shadow-focus)}.ex-input:disabled,.ex-textarea:disabled,.ex-select:disabled{background-color:var(--ex-bg-secondary);color:var(--ex-text-muted);cursor:not-allowed}.ex-input::placeholder,.ex-textarea::placeholder{color:var(--ex-text-muted)}.ex-input-sm{height:var(--ex-input-height-sm);padding:var(--ex-space-1) var(--ex-space-2);font-size:var(--ex-font-sm)}.ex-input-lg{height:var(--ex-input-height-lg);padding:var(--ex-space-3) var(--ex-space-4);font-size:var(--ex-font-md)}.ex-textarea{min-height:100px;resize:vertical}.ex-input-error,.ex-textarea-error,.ex-select-error{border-color:var(--ex-danger)}.ex-input-error:focus,.ex-textarea-error:focus,.ex-select-error:focus{border-color:var(--ex-danger);box-shadow:0 0 0 3px #ef444426}.ex-error-message{margin-top:var(--ex-space-1);font-size:var(--ex-font-sm);color:var(--ex-danger)}@keyframes ex-error-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.ex-shake{animation:ex-error-shake .4s ease-in-out}.ex-shake-subtle{animation:ex-error-shake-subtle .3s ease-in-out}@keyframes ex-error-shake-subtle{0%,to{transform:translate(0)}25%,75%{transform:translate(-2px)}50%{transform:translate(2px)}}.ex-input-container.ex-shake .ex-input,.ex-input-container.ex-shake .ex-textarea,.ex-input-container.ex-shake .ex-select,.ex-input-container.ex-shake .ex-input-wrapper,.ex-multiselect-wrapper.ex-shake,.ex-number-wrapper.ex-shake,.ex-pillinput-wrapper.ex-shake,.ex-autocomplete-wrapper.ex-shake,.ex-checkbox-container.ex-shake,.ex-datepicker.ex-shake .ex-datepicker-toggle{animation:ex-error-shake .4s ease-in-out}.ex-help-text,.ex-helper-text{margin-top:var(--ex-space-1);font-size:var(--ex-font-sm);color:var(--ex-text-tertiary)}.ex-input-footer{display:flex;justify-content:space-between;align-items:flex-start;margin-top:var(--ex-space-1);gap:var(--ex-space-2)}.ex-input-footer-left{flex:1;min-width:0}.ex-input-footer .ex-error-message,.ex-input-footer .ex-helper-text{margin-top:0}.ex-character-count{font-size:var(--ex-font-sm);color:var(--ex-text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0;text-align:right}.ex-character-count-warning{color:var(--ex-warning);font-weight:var(--ex-font-weight-medium)}.ex-character-count-over{color:var(--ex-danger);font-weight:var(--ex-font-weight-semibold)}.ex-input-container{display:flex;flex-direction:column}.ex-input-fullwidth{width:100%}.ex-input-wrapper{position:relative;display:flex;align-items:center}.ex-input-wrapper .ex-input{flex:1}.ex-input-icon{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--ex-text-muted);pointer-events:none;margin-left:.75em}.ex-input-icon-left .ex-input-icon{left:var(--ex-space-3)}.ex-input-icon-left{padding-left:calc(var(--ex-space-3) + 24px)}.ex-input-icon-right .ex-input-icon{right:var(--ex-space-3)}.ex-input-icon-right{padding-right:calc(var(--ex-space-3) + 24px)}.ex-validation-icon{position:absolute;right:var(--ex-space-3);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:20px;transition:color .2s ease,opacity .2s ease}.ex-validation-icon .material-icons{font-size:inherit}.ex-validation-icon-valid{color:var(--ex-success)}.ex-validation-icon-invalid{color:var(--ex-danger)}.ex-input-with-validation,.ex-textarea-with-validation{padding-right:calc(var(--ex-space-3) + 28px)}.ex-input-valid,.ex-textarea-valid{border-color:var(--ex-success)}.ex-input-valid:focus,.ex-textarea-valid:focus{border-color:var(--ex-success);box-shadow:0 0 0 3px #22c55e26}.ex-input-invalid,.ex-textarea-invalid{border-color:var(--ex-danger)}.ex-input-invalid:focus,.ex-textarea-invalid:focus{border-color:var(--ex-danger);box-shadow:0 0 0 3px #ef444426}.ex-textarea-wrapper{position:relative;display:flex}.ex-textarea-wrapper .ex-textarea{flex:1}.ex-textarea-wrapper .ex-validation-icon{top:var(--ex-space-3);transform:none}.ex-floating-label-container,.ex-floating-label-wrapper{position:relative}.ex-floating-label{position:absolute;left:var(--ex-space-3);top:50%;transform:translateY(-50%);font-size:var(--ex-font-base);font-weight:var(--ex-font-weight-normal);color:var(--ex-text-muted);pointer-events:none;transition:all var(--ex-transition-fast);background-color:transparent;padding:0 var(--ex-space-1);display:flex;align-items:center;gap:var(--ex-space-1)}.ex-floating-label-active{top:0;transform:translateY(-50%);font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-medium);color:var(--ex-primary);background-color:var(--ex-bg-primary)}.ex-input-floating:not(:focus)+.ex-floating-label-active{color:var(--ex-text-secondary)}.ex-input-error+.ex-floating-label-active{color:var(--ex-danger)}.ex-input-sm+.ex-floating-label{left:var(--ex-space-2);font-size:var(--ex-font-sm)}.ex-input-sm+.ex-floating-label-active{font-size:var(--ex-font-xs)}.ex-input-lg+.ex-floating-label{left:var(--ex-space-4);font-size:var(--ex-font-md)}.ex-input-lg+.ex-floating-label-active{font-size:var(--ex-font-sm)}.ex-textarea-floating+.ex-floating-label:not(.ex-floating-label-active){top:var(--ex-space-3);transform:translateY(0);align-items:flex-start}.ex-textarea-floating+.ex-floating-label-active{top:0;transform:translateY(-50%);align-items:center;font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-medium);color:var(--ex-primary);background-color:var(--ex-bg-primary)}.ex-textarea-floating:not(:focus)+.ex-floating-label-active{color:var(--ex-text-secondary)}.ex-input-floating:disabled+.ex-floating-label,.ex-textarea-floating:disabled+.ex-floating-label{color:var(--ex-text-muted);background-color:var(--ex-bg-secondary)}.ex-select-floating+.ex-floating-label{pointer-events:none}.ex-select-floating:focus+.ex-floating-label,.ex-select-floating+.ex-floating-label-active{top:0;transform:translateY(-50%);font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-medium);color:var(--ex-primary);background-color:var(--ex-bg-primary)}.ex-select-floating:not(:focus)+.ex-floating-label-active{color:var(--ex-text-secondary)}.ex-select-error+.ex-floating-label-active{color:var(--ex-danger)}.ex-date-picker .ex-floating-label-wrapper{position:relative}.ex-date-picker .ex-floating-label{left:var(--ex-space-3);pointer-events:none}.ex-date-picker .ex-floating-label-active{top:0;transform:translateY(-50%);font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-medium);color:var(--ex-primary);background-color:var(--ex-bg-primary)}.ex-date-picker:not(:focus-within) .ex-floating-label-active{color:var(--ex-text-secondary)}.ex-date-picker-error .ex-floating-label-active{color:var(--ex-danger)}.ex-multiselect-floating{position:relative}.ex-multiselect-floating .ex-floating-label{left:var(--ex-space-3);pointer-events:none}.ex-multiselect-floating .ex-floating-label-active{top:0;transform:translateY(-50%);font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-medium);color:var(--ex-primary);background-color:var(--ex-bg-primary)}.ex-multiselect-floating:not(.ex-multiselect-open) .ex-floating-label-active{color:var(--ex-text-secondary)}.ex-multiselect-error .ex-floating-label-active{color:var(--ex-danger)}@media(max-width:768px){.ex-hide-mobile{display:none!important}.ex-show-mobile{display:block!important}.ex-show-mobile-flex{display:flex!important}.ex-modal-mobile-fullscreen{max-width:100%;max-height:100%;height:100%;border-radius:0}.ex-sidebar-mobile-overlay{position:fixed;box-shadow:var(--ex-shadow-xl)}.ex-touch-target{min-height:44px;min-width:44px}.ex-input,.ex-textarea,.ex-select{font-size:16px}.ex-context-menu{left:var(--ex-space-4)!important;right:var(--ex-space-4)!important;width:auto!important;min-width:0}.ex-toast-container-top-right,.ex-toast-container-top-left{left:var(--ex-space-4);right:var(--ex-space-4);transform:none}.ex-toast{min-width:0;width:100%}.ex-sidebar-toggle{width:24px}}@media(max-width:480px){.ex-hide-sm{display:none!important}.ex-show-sm{display:block!important}.ex-btn-fullwidth-sm{width:100%}.ex-flex-col-sm{flex-direction:column}.ex-modal-body{padding:var(--ex-space-4)}.ex-modal-header,.ex-modal-footer{padding:var(--ex-space-3) var(--ex-space-4)}}@media(min-width:769px){.ex-hide-desktop{display:none!important}.ex-show-desktop{display:block!important}.ex-show-desktop-flex{display:flex!important}}@keyframes ex-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ex-fade-out{0%{opacity:1}to{opacity:0}}@keyframes ex-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes ex-slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes ex-slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes ex-slide-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes ex-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes ex-spin{to{transform:rotate(360deg)}}@keyframes ex-skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes ex-progress-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes ex-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes ex-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.ex-animate-fade-in{animation:ex-fade-in .2s ease}.ex-animate-slide-up{animation:ex-slide-up .3s ease}.ex-animate-slide-down{animation:ex-slide-down .3s ease}.ex-animate-scale-in{animation:ex-scale-in .2s ease}.ex-animate-spin{animation:ex-spin 1s linear infinite}.ex-animate-pulse{animation:ex-pulse 2s ease-in-out infinite}.ex-animate-bounce{animation:ex-bounce .5s ease infinite}@keyframes ex-split-horizontal{0%{flex-basis:0%;opacity:0}to{flex-basis:50%;opacity:1}}@keyframes ex-split-vertical{0%{flex-basis:0%;opacity:0}to{flex-basis:50%;opacity:1}}@keyframes ex-tab-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes ex-list-item-slide{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes ex-sidebar-item-fade{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes ex-dropdown-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes ex-tooltip-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes ex-tooltip-enter-above{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes ex-checkmark-draw{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes ex-toggle-slide{0%{transform:translate(0)}60%{transform:translate(calc(var(--toggle-travel, 16px) + 2px))}to{transform:translate(var(--toggle-travel, 16px))}}@keyframes ex-button-ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(2.5);opacity:0}}.ex-animate-fade-in-fill{animation:ex-fade-in .2s ease-out backwards}.ex-animate-slide-up-fill{animation:ex-slide-up .25s ease-out backwards}.ex-animate-slide-left-fill{animation:ex-slide-in-left .2s ease-out backwards}.ex-animate-scale-in-fill{animation:ex-scale-in .15s ease-out backwards}.ex-animate-dropdown{animation:ex-dropdown-scale .15s ease-out}.ex-animate-tooltip{animation:ex-tooltip-enter .15s ease-out}.ex-animate-tooltip-above{animation:ex-tooltip-enter-above .15s ease-out}.ex-animate-stagger{animation:ex-list-item-slide .15s ease-out backwards;animation-delay:calc(var(--item-index, 0) * .02s)}.ex-animate-stagger-fade{animation:ex-sidebar-item-fade .2s ease-out backwards;animation-delay:calc(var(--item-index, 0) * .02s)}.ex-animate-tab-content{animation:ex-tab-fade-in var(--ex-transition-fast)}.ex-animate-split-h{animation:ex-split-horizontal .3s var(--ex-transition-smooth) backwards}.ex-animate-split-v{animation:ex-split-vertical .3s var(--ex-transition-smooth) backwards}.ex-btn-press{transition:transform var(--ex-transition-fast)}.ex-btn-press:active{transform:scale(.97)}.ex-btn-ripple{position:relative;overflow:hidden}.ex-btn-ripple:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:currentColor;opacity:0;border-radius:inherit;pointer-events:none}.ex-btn-ripple:active:after{animation:ex-button-ripple .4s ease-out}.ex-hover-lift{transition:transform var(--ex-transition-fast),box-shadow var(--ex-transition-fast)}.ex-hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.ex-hover-scale{transition:transform var(--ex-transition-fast)}.ex-hover-scale:hover{transform:scale(1.02)}.ex-focus-ring{transition:box-shadow var(--ex-transition-fast)}.ex-focus-ring:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ex-bg-primary),0 0 0 4px var(--ex-primary)}@media(prefers-reduced-motion:reduce){.ex-animate-fade-in,.ex-animate-slide-up,.ex-animate-slide-down,.ex-animate-scale-in,.ex-animate-fade-in-fill,.ex-animate-slide-up-fill,.ex-animate-slide-left-fill,.ex-animate-scale-in-fill,.ex-animate-dropdown,.ex-animate-tooltip,.ex-animate-tooltip-above,.ex-animate-stagger,.ex-animate-stagger-fade,.ex-animate-tab-content,.ex-animate-split-h,.ex-animate-split-v{animation:none!important}.ex-btn-press,.ex-hover-lift,.ex-hover-scale,.ex-focus-ring{transition-duration:.01ms!important}.ex-btn-press:active{transform:scale(.98)}.ex-animate-spin,.ex-animate-pulse,.ex-animate-bounce{animation:none!important}}.ex-side-menu-modal .ex-modal-body{padding:0;display:flex;flex-direction:column;overflow:hidden}.ex-side-menu-modal-body{display:flex;flex:1;overflow:hidden}.ex-side-menu-modal-menu{display:flex;flex-direction:column;padding:var(--ex-space-4) 0;overflow-y:auto;background:var(--ex-bg-secondary);border-right:1px solid var(--ex-border-light);flex-shrink:0}.ex-side-menu-modal-menu-item{display:flex;align-items:center;gap:var(--ex-space-3);width:100%;padding:var(--ex-space-3) var(--ex-space-6);text-align:left;background:none;border:none;font-family:inherit;font-size:var(--ex-font-base);font-weight:var(--ex-font-weight-medium);color:var(--ex-text-secondary);cursor:pointer;transition:all var(--ex-transition-fast);border-left:3px solid transparent}.ex-side-menu-modal-menu-item:hover:not(.disabled){background:var(--ex-bg-hover);color:var(--ex-text-primary)}.ex-side-menu-modal-menu-item.active{background:var(--ex-bg-primary);color:var(--ex-primary);border-left-color:var(--ex-primary)}.ex-side-menu-modal-menu-item.disabled{opacity:.5;cursor:not-allowed}.ex-side-menu-modal-menu-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:inherit}.ex-side-menu-modal-menu-label{flex:1}.ex-side-menu-modal-content{flex:1;padding:var(--ex-space-6);overflow-y:auto;overflow-x:hidden}.ex-side-menu-modal-md .ex-modal-content{max-width:700px;height:70vh;max-height:550px}.ex-side-menu-modal-lg .ex-modal-content{max-width:900px;height:80vh;max-height:700px}.ex-side-menu-modal-xl .ex-modal-content{max-width:1100px;height:85vh;max-height:800px}@media(max-width:768px){.ex-side-menu-modal-md .ex-modal-content,.ex-side-menu-modal-lg .ex-modal-content,.ex-side-menu-modal-xl .ex-modal-content{width:95%;height:90vh;max-height:none}.ex-side-menu-modal-menu{width:150px!important;min-width:150px!important}.ex-side-menu-modal-menu-item{padding:var(--ex-space-3) var(--ex-space-4);font-size:var(--ex-font-sm);min-height:44px}.ex-side-menu-modal-content{padding:var(--ex-space-4)}}@media(max-width:480px){.ex-side-menu-modal-md .ex-modal-content,.ex-side-menu-modal-lg .ex-modal-content,.ex-side-menu-modal-xl .ex-modal-content{width:100%;height:100%;max-height:100vh;border-radius:0}.ex-side-menu-modal-body{flex-direction:column}.ex-side-menu-modal-menu{width:100%!important;min-width:100%!important;border-right:none;border-bottom:1px solid var(--ex-border-light);padding:var(--ex-space-2) 0;flex-direction:row;overflow-x:auto;overflow-y:hidden;flex-shrink:0}.ex-side-menu-modal-menu-item{padding:var(--ex-space-2) var(--ex-space-4);white-space:nowrap;border-left:none;border-bottom:3px solid transparent;flex-shrink:0}.ex-side-menu-modal-menu-item.active{border-left-color:transparent;border-bottom-color:var(--ex-primary)}.ex-side-menu-modal-content{flex:1;overflow-y:auto;padding:var(--ex-space-3)}}.ex-date-picker{position:relative;display:inline-flex;flex-direction:column}.ex-date-picker-fullwidth{width:100%}.ex-date-picker.ex-disabled{opacity:.6;pointer-events:none}.ex-date-picker-wrapper{position:relative}.ex-date-picker-input{display:flex;align-items:center;gap:var(--ex-space-2);width:100%;height:var(--ex-input-height);padding:var(--ex-space-2) var(--ex-space-3);background:var(--ex-bg-primary);border:2px solid var(--ex-border-default);border-radius:var(--ex-radius-md);font-family:inherit;font-size:var(--ex-font-base);color:var(--ex-text-primary);cursor:pointer;transition:border-color var(--ex-transition-fast),box-shadow var(--ex-transition-fast)}.ex-date-picker-input:hover:not(:disabled){border-color:var(--ex-border-dark)}.ex-date-picker-input:focus{outline:none;border-color:var(--ex-primary);box-shadow:var(--ex-shadow-focus)}.ex-date-picker-input:disabled{background:var(--ex-bg-secondary);cursor:not-allowed}.ex-date-picker-error{border-color:var(--ex-danger)}.ex-date-picker-error:focus{border-color:var(--ex-danger);box-shadow:0 0 0 3px #ef444426}.ex-date-picker-cell .ex-date-picker-input{border:none;border-radius:0;background:transparent;box-shadow:none;height:100%;min-height:28px}.ex-date-picker-cell .ex-date-picker-input:hover:not(:disabled){background:var(--ex-bg-secondary)}.ex-date-picker-cell .ex-date-picker-input:focus{border:none;box-shadow:inset 0 0 0 2px var(--ex-primary);background:var(--ex-bg-primary)}.ex-date-picker-sm .ex-date-picker-input{height:var(--ex-input-height-lg);padding:var(--ex-space-2) var(--ex-space-3);font-size:var(--ex-font-sm)}.ex-date-picker-lg .ex-date-picker-input{height:var(--ex-input-height-lg);padding:var(--ex-space-3) var(--ex-space-4);font-size:var(--ex-font-md)}.ex-date-picker-icon{display:flex;align-items:center;color:var(--ex-text-tertiary);flex-shrink:0}.ex-date-picker-value{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-date-picker-value.placeholder{color:var(--ex-text-muted)}.ex-date-picker-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--ex-radius-full);color:var(--ex-text-muted);transition:all var(--ex-transition-fast);flex-shrink:0}.ex-date-picker-clear:hover{background:var(--ex-bg-tertiary);color:var(--ex-text-secondary)}.ex-date-picker-chevron{display:flex;align-items:center;color:var(--ex-text-muted);flex-shrink:0;transition:transform var(--ex-transition-fast)}.ex-date-picker-dropdown{min-width:280px;background:var(--ex-bg-primary);border:1px solid var(--ex-border-light);border-radius:var(--ex-radius-lg);box-shadow:var(--ex-shadow-lg)}.ex-date-picker-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ex-space-3);border-bottom:1px solid var(--ex-border-light)}.ex-date-picker-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid var(--ex-border-light);border-radius:var(--ex-radius-md);color:var(--ex-text-secondary);cursor:pointer;transition:all var(--ex-transition-fast)}.ex-date-picker-nav-btn:hover{background:var(--ex-bg-hover);border-color:var(--ex-border-default);color:var(--ex-text-primary)}.ex-date-picker-month-year-btn{display:flex;align-items:center;gap:var(--ex-space-1);padding:var(--ex-space-2) var(--ex-space-3);background:none;border:1px solid transparent;border-radius:var(--ex-radius-md);font-family:inherit;font-size:var(--ex-font-base);font-weight:var(--ex-font-weight-semibold);color:var(--ex-text-primary);cursor:pointer;transition:all var(--ex-transition-fast)}.ex-date-picker-month-year-btn:hover{background:var(--ex-bg-hover);border-color:var(--ex-border-light)}.ex-date-picker-month-year-popup{padding:var(--ex-space-3)}.ex-date-picker-year-select{margin-bottom:var(--ex-space-3)}.ex-date-picker-year-dropdown{width:100%;padding:var(--ex-space-2) var(--ex-space-3);background:var(--ex-bg-primary);border:1px solid var(--ex-border-default);border-radius:var(--ex-radius-md);font-family:inherit;font-size:var(--ex-font-base);color:var(--ex-text-primary);cursor:pointer}.ex-date-picker-year-dropdown:focus{outline:none;border-color:var(--ex-primary);box-shadow:var(--ex-shadow-focus)}.ex-date-picker-months-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ex-space-2)}.ex-date-picker-month-btn{padding:var(--ex-space-2) var(--ex-space-1);background:none;border:1px solid transparent;border-radius:var(--ex-radius-md);font-family:inherit;font-size:var(--ex-font-sm);font-weight:var(--ex-font-weight-medium);color:var(--ex-text-secondary);cursor:pointer;transition:all var(--ex-transition-fast)}.ex-date-picker-month-btn:hover{background:var(--ex-bg-hover);color:var(--ex-text-primary)}.ex-date-picker-month-btn.selected{background:var(--ex-primary);color:#fff;border-color:var(--ex-primary)}.ex-date-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:var(--ex-space-2) var(--ex-space-3);border-bottom:1px solid var(--ex-border-light);background:var(--ex-bg-secondary)}.ex-date-picker-weekdays.has-week-numbers{grid-template-columns:32px repeat(7,1fr)}.ex-date-picker-week-number-header{font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-medium);color:var(--ex-text-muted);text-align:center}.ex-date-picker-weekday{font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-semibold);color:var(--ex-text-tertiary);text-align:center;text-transform:uppercase}.ex-date-picker-weekday.weekend{color:var(--ex-text-muted)}.ex-date-picker-days{padding:var(--ex-space-2) var(--ex-space-3)}.ex-date-picker-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.ex-date-picker-week:has(.ex-date-picker-week-number){grid-template-columns:32px repeat(7,1fr)}.ex-date-picker-week-number{display:flex;align-items:center;justify-content:center;font-size:var(--ex-font-xs);color:var(--ex-text-muted)}.ex-date-picker-day{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:1px auto;background:none;border:none;border-radius:var(--ex-radius-full);font-family:inherit;font-size:var(--ex-font-sm);font-weight:var(--ex-font-weight-medium);color:var(--ex-text-primary);cursor:pointer;transition:all var(--ex-transition-fast)}.ex-date-picker-day:hover:not(.disabled):not(.selected){background:var(--ex-bg-hover)}.ex-date-picker-day.other-month{color:var(--ex-text-muted)}.ex-date-picker-day.today{background:var(--ex-primary-light);color:var(--ex-primary);font-weight:var(--ex-font-weight-bold)}.ex-date-picker-day.selected,.ex-date-picker-day.selected.today{background:var(--ex-primary);color:#fff}.ex-date-picker-day.disabled{color:var(--ex-text-disabled);cursor:not-allowed}.ex-date-picker-footer{display:flex;justify-content:center;padding:var(--ex-space-2) var(--ex-space-3);border-top:1px solid var(--ex-border-light)}.ex-date-picker-today-btn{padding:var(--ex-space-1) var(--ex-space-4);background:none;border:1px solid var(--ex-border-default);border-radius:var(--ex-radius-md);font-family:inherit;font-size:var(--ex-font-sm);font-weight:var(--ex-font-weight-medium);color:var(--ex-primary);cursor:pointer;transition:all var(--ex-transition-fast)}.ex-date-picker-today-btn:hover{background:var(--ex-primary-light);border-color:var(--ex-primary)}@media(max-width:320px){.ex-date-picker-dropdown{min-width:260px}.ex-date-picker-day{width:28px;height:28px;font-size:var(--ex-font-xs)}}.ex-uploader{display:flex;flex-direction:column}.ex-uploader-fullwidth{width:100%}.ex-uploader.ex-disabled{opacity:.6;pointer-events:none}.ex-uploader-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:var(--ex-space-6);background:var(--ex-bg-secondary);border:2px dashed var(--ex-border-default);border-radius:var(--ex-radius-lg);cursor:pointer;transition:all var(--ex-transition-fast)}.ex-uploader-compact .ex-uploader-dropzone{min-height:120px;padding:var(--ex-space-4)}.ex-uploader-dropzone:hover{background:var(--ex-bg-tertiary);border-color:var(--ex-border-dark)}.ex-uploader-dropzone.dragging{background:var(--ex-primary-light);border-color:var(--ex-primary);border-style:solid}.ex-uploader-dropzone.has-error{border-color:var(--ex-danger);background:var(--ex-danger-light)}.ex-uploader-dropzone.has-file{border-style:solid;border-color:var(--ex-border-default)}.ex-uploader-bordered .ex-uploader-dropzone{background:var(--ex-bg-primary);border-style:solid;border-width:1px}.ex-uploader-minimal .ex-uploader-dropzone{min-height:100px;padding:var(--ex-space-4);background:transparent;border-width:1px}.ex-uploader-content{display:flex;flex-direction:column;align-items:center;text-align:center}.ex-uploader-icon{color:var(--ex-text-muted);margin-bottom:var(--ex-space-3);transition:color var(--ex-transition-fast)}.ex-uploader-dropzone:hover .ex-uploader-icon,.ex-uploader-dropzone.dragging .ex-uploader-icon{color:var(--ex-primary)}.ex-uploader-text{display:flex;flex-direction:column;align-items:center;gap:var(--ex-space-1)}.ex-uploader-label{font-size:var(--ex-font-md);font-weight:var(--ex-font-weight-semibold);color:var(--ex-text-primary)}.ex-uploader-description{font-size:var(--ex-font-sm);color:var(--ex-text-secondary)}.ex-uploader-or{font-size:var(--ex-font-sm);color:var(--ex-text-muted);margin:var(--ex-space-2) 0}.ex-uploader-browse{display:inline-block;padding:var(--ex-space-2) var(--ex-space-4);background:var(--ex-primary);border-radius:var(--ex-radius-md);font-size:var(--ex-font-sm);font-weight:var(--ex-font-weight-medium);color:var(--ex-text-inverse);transition:background var(--ex-transition-fast)}.ex-uploader-dropzone:hover .ex-uploader-browse{background:var(--ex-primary-hover)}.ex-uploader-hint{margin-top:var(--ex-space-3);font-size:var(--ex-font-xs);color:var(--ex-text-muted)}.ex-uploader-preview{position:relative;width:100%;height:200px;border-radius:var(--ex-radius-md);overflow:hidden}.ex-uploader-preview img{width:100%;height:100%;object-fit:cover}.ex-uploader-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ex-space-2);background:#00000080;opacity:0;transition:opacity var(--ex-transition-fast)}.ex-uploader-preview:hover .ex-uploader-preview-overlay{opacity:1}.ex-uploader-remove-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffffe6;border:none;border-radius:var(--ex-radius-full);color:var(--ex-danger);cursor:pointer;transition:all var(--ex-transition-fast)}.ex-uploader-remove-btn:hover{background:#fff;transform:scale(1.1)}.ex-uploader-change-text{font-size:var(--ex-font-sm);color:#fff;font-weight:var(--ex-font-weight-medium)}.ex-uploader-file-display{display:flex;align-items:center;gap:var(--ex-space-3);width:100%;padding:var(--ex-space-3);background:var(--ex-bg-primary);border-radius:var(--ex-radius-md)}.ex-uploader-file-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--ex-bg-tertiary);border-radius:var(--ex-radius-md);color:var(--ex-primary);flex-shrink:0}.ex-uploader-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ex-uploader-file-name{font-size:var(--ex-font-base);font-weight:var(--ex-font-weight-medium);color:var(--ex-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-uploader-file-size{font-size:var(--ex-font-sm);color:var(--ex-text-muted)}.ex-uploader-remove-btn-inline{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:var(--ex-radius-full);color:var(--ex-text-muted);cursor:pointer;transition:all var(--ex-transition-fast);flex-shrink:0}.ex-uploader-remove-btn-inline:hover{background:var(--ex-danger-light);color:var(--ex-danger)}.ex-uploader-file-list{display:flex;flex-direction:column;gap:var(--ex-space-2);margin-top:var(--ex-space-3)}.ex-uploader-file-item{display:flex;align-items:center;gap:var(--ex-space-3);padding:var(--ex-space-2) var(--ex-space-3);background:var(--ex-bg-secondary);border:1px solid var(--ex-border-light);border-radius:var(--ex-radius-md)}.ex-uploader-file-thumb{width:40px;height:40px;object-fit:cover;border-radius:var(--ex-radius-sm);flex-shrink:0}.ex-uploader-file-icon-small{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--ex-bg-tertiary);border-radius:var(--ex-radius-sm);color:var(--ex-text-tertiary);flex-shrink:0}.ex-uploader-file-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ex-uploader-file-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--ex-radius-full);color:var(--ex-text-muted);cursor:pointer;transition:all var(--ex-transition-fast);flex-shrink:0}.ex-uploader-file-remove:hover{background:var(--ex-danger-light);color:var(--ex-danger)}.ex-uploader-error{display:flex;align-items:center;gap:var(--ex-space-2);margin-top:var(--ex-space-2);padding:var(--ex-space-2) var(--ex-space-3);background:var(--ex-danger-light);border:1px solid var(--ex-danger-border);border-radius:var(--ex-radius-md);font-size:var(--ex-font-sm);color:var(--ex-danger)}@media(max-width:480px){.ex-uploader-dropzone{min-height:160px;padding:var(--ex-space-4)}.ex-uploader-icon svg{width:32px;height:32px}.ex-uploader-label{font-size:var(--ex-font-base)}}.ex-popup{background:var(--ex-bg-primary);border:1px solid var(--ex-border-light);border-radius:var(--ex-radius-lg);box-shadow:var(--ex-shadow-lg);overflow:hidden;animation:ex-popup-enter .15s ease-out}.ex-popup-below{transform-origin:top center}.ex-popup-above{transform-origin:bottom center}@keyframes ex-popup-enter{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.ex-popup-above{animation-name:ex-popup-enter-above}@keyframes ex-popup-enter-above{0%{opacity:0;transform:scale(.95) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.ex-popup{animation:none}}.ex-checkbox-container{display:flex;flex-direction:column;gap:6px;padding:var(--ex-space-3) var(--ex-space-3)}.ex-checkbox-wrapper{display:inline-flex;align-items:center;gap:var(--ex-space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.ex-checkbox-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.ex-checkbox-box{position:relative;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid var(--ex-border-default);border-radius:var(--ex-radius-sm);background:var(--ex-bg-primary);transition:all var(--ex-transition-fast);flex-shrink:0}.ex-checkbox-box-sm{width:14px;height:14px}.ex-checkbox-box-lg{width:22px;height:22px}.ex-checkbox-check,.ex-checkbox-indeterminate{position:absolute;width:100%;height:100%;color:var(--ex-text-inverse);opacity:0;transform:scale(.5);transition:all var(--ex-transition-fast)}.ex-checkbox-check svg{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .2s ease-out .05s}.ex-checkbox-input:checked+.ex-checkbox-box{background:var(--ex-primary);border-color:var(--ex-primary)}.ex-checkbox-input:checked+.ex-checkbox-box .ex-checkbox-check{opacity:1;transform:scale(1)}.ex-checkbox-input:checked+.ex-checkbox-box .ex-checkbox-check svg{stroke-dashoffset:0}@media(prefers-reduced-motion:reduce){.ex-checkbox-check svg{stroke-dasharray:none;stroke-dashoffset:0;transition:none}}.ex-checkbox-input:indeterminate+.ex-checkbox-box{background:var(--ex-primary);border-color:var(--ex-primary)}.ex-checkbox-input:indeterminate+.ex-checkbox-box .ex-checkbox-indeterminate{opacity:1;transform:scale(1)}.ex-checkbox-input:indeterminate+.ex-checkbox-box .ex-checkbox-check{opacity:0}.ex-checkbox-input:focus-visible+.ex-checkbox-box{box-shadow:var(--ex-shadow-focus)}.ex-checkbox-input:disabled+.ex-checkbox-box{background:var(--ex-bg-tertiary);border-color:var(--ex-border-light);cursor:not-allowed}.ex-checkbox-input:disabled:checked+.ex-checkbox-box{background:var(--ex-text-muted);border-color:var(--ex-text-muted)}.ex-checkbox-label{font-size:var(--ex-font-base);color:var(--ex-text-primary);line-height:var(--ex-line-height-normal)}.ex-checkbox-wrapper:has(.ex-checkbox-input:disabled) .ex-checkbox-label{color:var(--ex-text-muted);cursor:not-allowed}.ex-checkbox-error+.ex-checkbox-box{border-color:var(--ex-danger)}.ex-checkbox-cell{display:flex;align-items:center;justify-content:center;height:100%;width:100%;min-height:40px}.ex-checkbox-cell .ex-checkbox-wrapper{justify-content:center}.ex-multiselect-container{position:relative;display:flex;flex-direction:column;gap:6px}.ex-multiselect-fullwidth{width:100%}.ex-multiselect-wrapper{display:flex;align-items:stretch;min-height:var(--ex-input-height);border:1px solid var(--ex-border-default);border-radius:var(--ex-radius-md);background:var(--ex-bg-primary);transition:border-color var(--ex-transition-fast),box-shadow var(--ex-transition-fast)}.ex-multiselect-wrapper:hover:not(.ex-disabled){border-color:var(--ex-border-dark)}.ex-multiselect-open{border-color:var(--ex-primary);box-shadow:var(--ex-shadow-focus)}.ex-multiselect-error{border-color:var(--ex-danger)}.ex-multiselect-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px;flex:1;padding:6px 8px;cursor:text;min-width:0}.ex-multiselect-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-size:var(--ex-font-sm);background:var(--ex-primary-light);color:var(--ex-primary);border-radius:var(--ex-radius-sm)}.ex-multiselect-chip-text{white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.ex-multiselect-chip-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;background:none;border:none;font-size:14px;line-height:1;color:inherit;opacity:.6;cursor:pointer;transition:opacity var(--ex-transition-fast)}.ex-multiselect-chip-remove:hover{opacity:1}.ex-multiselect-search{flex:1;min-width:60px;padding:4px 0;border:none;background:transparent;font-size:var(--ex-font-base);color:var(--ex-text-primary);outline:none}.ex-multiselect-placeholder{color:var(--ex-text-muted);font-size:var(--ex-font-base)}.ex-multiselect-toggle{display:flex;align-items:center;justify-content:center;width:36px;padding:0;background:transparent;border:none;border-left:1px solid var(--ex-border-light);color:var(--ex-text-tertiary);cursor:pointer;transition:background var(--ex-transition-fast),color var(--ex-transition-fast)}.ex-multiselect-toggle:hover:not(:disabled){background:var(--ex-bg-hover);color:var(--ex-text-primary)}.ex-multiselect-popup{min-width:200px;max-height:220px}.ex-multiselect-dropdown{position:absolute;top:100%;left:0;right:0;z-index:var(--ex-z-dropdown);margin-top:4px;max-height:220px;overflow-y:auto;background:var(--ex-bg-primary);border:1px solid var(--ex-border-default);border-radius:var(--ex-radius-md);box-shadow:var(--ex-shadow-lg)}.ex-multiselect-option{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;text-align:left;font-size:var(--ex-font-base);background:none;border:none;cursor:pointer;transition:background var(--ex-transition-fast)}.ex-multiselect-option:hover:not(.ex-disabled){background:var(--ex-bg-hover)}.ex-multiselect-option.ex-disabled{color:var(--ex-text-muted);cursor:not-allowed}.ex-multiselect-option-color{width:12px;height:12px;border-radius:var(--ex-radius-sm);flex-shrink:0}.ex-multiselect-empty{padding:12px;text-align:center;color:var(--ex-text-muted);font-size:var(--ex-font-sm)}.ex-multiselect-create{display:block;width:100%;padding:10px 12px;text-align:left;font-size:var(--ex-font-base);background:none;border:none;color:var(--ex-primary);cursor:pointer;transition:background var(--ex-transition-fast)}.ex-multiselect-create:hover{background:var(--ex-bg-hover)}.ex-multiselect-cell{gap:0}.ex-multiselect-cell .ex-multiselect-wrapper{border:none;border-radius:0;background:transparent;min-height:40px}.ex-multiselect-cell .ex-multiselect-wrapper:hover{background:var(--ex-bg-hover)}.ex-multiselect-cell .ex-multiselect-open{background:var(--ex-bg-primary);box-shadow:inset 0 0 0 2px var(--ex-primary)}.ex-multiselect-cell .ex-multiselect-toggle{border-left-color:transparent}.ex-number-container{display:flex;flex-direction:column;gap:6px}.ex-number-fullwidth{width:100%}.ex-number-wrapper{display:flex;align-items:stretch;height:var(--ex-input-height-lg);border:1px solid var(--ex-border-default);border-radius:var(--ex-radius-md);background:var(--ex-bg-primary);transition:border-color var(--ex-transition-fast),box-shadow var(--ex-transition-fast)}.ex-number-wrapper:hover:not(.ex-disabled){border-color:var(--ex-border-dark)}.ex-number-wrapper:focus-within{border-color:var(--ex-primary);box-shadow:var(--ex-shadow-focus)}.ex-number-error{border-color:var(--ex-danger)}.ex-number-input{flex:1;min-width:0;height:var(--ex-input-height-lg);padding:0 12px;border:none;background:transparent;font-size:var(--ex-font-base);font-family:var(--ex-font-mono);color:var(--ex-text-primary);text-align:right;outline:none}.ex-number-prefix,.ex-number-suffix{display:flex;align-items:center;padding:0 10px;font-size:var(--ex-font-sm);color:var(--ex-text-tertiary);background:var(--ex-bg-tertiary)}.ex-number-prefix{border-right:1px solid var(--ex-border-light);border-radius:var(--ex-radius-md) 0 0 var(--ex-radius-md)}.ex-number-suffix{border-left:1px solid var(--ex-border-light);border-radius:0 var(--ex-radius-md) var(--ex-radius-md) 0}.ex-number-buttons{display:flex;flex-direction:column;border-left:1px solid var(--ex-border-light)}.ex-number-btn{display:flex;align-items:center;justify-content:center;width:28px;flex:1;padding:0;background:transparent;border:none;color:var(--ex-text-tertiary);cursor:pointer;transition:background var(--ex-transition-fast),color var(--ex-transition-fast)}.ex-number-btn:hover:not(:disabled){background:var(--ex-bg-hover);color:var(--ex-text-primary)}.ex-number-btn:disabled{color:var(--ex-text-disabled);cursor:not-allowed}.ex-number-btn-up{border-bottom:1px solid var(--ex-border-light);border-radius:0 var(--ex-radius-md) 0 0}.ex-number-btn-down{border-radius:0 0 var(--ex-radius-md) 0}.ex-number-cell{gap:0}.ex-number-cell .ex-number-wrapper{border:none;border-radius:0;background:transparent;height:100%;min-height:40px}.ex-number-cell .ex-number-wrapper:hover{background:var(--ex-bg-hover)}.ex-number-cell .ex-number-wrapper:focus-within{background:var(--ex-bg-primary);box-shadow:inset 0 0 0 2px var(--ex-primary)}.ex-number-cell .ex-number-prefix,.ex-number-cell .ex-number-suffix{background:transparent;border-color:transparent}.ex-number-cell .ex-number-buttons{display:none}.ex-number-floating{position:relative}.ex-number-floating .ex-floating-label{left:var(--ex-space-3);pointer-events:none}.ex-number-floating .ex-number-prefix~.ex-floating-label{left:auto}.ex-number-floating .ex-floating-label-active{top:0;transform:translateY(-50%);font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-medium);color:var(--ex-primary);background-color:var(--ex-bg-primary)}.ex-number-floating:not(:focus-within) .ex-floating-label-active{color:var(--ex-text-secondary)}.ex-number-error .ex-floating-label-active{color:var(--ex-danger)}.ex-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:var(--ex-font-sm);font-weight:var(--ex-font-weight-medium);line-height:1.2;border-radius:var(--ex-radius-full);background:var(--ex-bg-tertiary);color:var(--ex-text-secondary);transition:all var(--ex-transition-fast)}.ex-pill-sm{padding:2px 8px;font-size:var(--ex-font-xs)}.ex-pill-lg{padding:6px 14px;font-size:var(--ex-font-base)}.ex-pill-primary{background:var(--ex-primary-light);color:var(--ex-primary)}.ex-pill-success{background:var(--ex-success-light);color:var(--ex-success)}.ex-pill-warning{background:var(--ex-warning-light);color:var(--ex-warning)}.ex-pill-danger{background:var(--ex-danger-light);color:var(--ex-danger)}.ex-pill-info{background:var(--ex-info-light);color:var(--ex-info)}.ex-pill-clickable{cursor:pointer}.ex-pill-clickable:hover{filter:brightness(.95)}.ex-pill-selected{box-shadow:inset 0 0 0 2px currentColor}.ex-pill-icon{display:flex;align-items:center;font-size:1em}.ex-pill-content{white-space:nowrap}.ex-pill-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:2px;margin-right:-4px;padding:0;background:transparent;border:none;border-radius:var(--ex-radius-full);color:inherit;opacity:.6;cursor:pointer;transition:opacity var(--ex-transition-fast),background var(--ex-transition-fast)}.ex-pill-remove:hover{opacity:1;background:#0000001a}.ex-pillinput-container{display:flex;flex-direction:column;gap:6px}.ex-pillinput-fullwidth{width:100%}.ex-pillinput-wrapper{display:flex;align-items:stretch;min-height:var(--ex-input-height);padding:6px 8px;border:1px solid var(--ex-border-default);border-radius:var(--ex-radius-md);background:var(--ex-bg-primary);transition:border-color var(--ex-transition-fast),box-shadow var(--ex-transition-fast);cursor:text}.ex-pillinput-wrapper:hover:not(.ex-disabled){border-color:var(--ex-border-dark)}.ex-pillinput-wrapper:focus-within{border-color:var(--ex-primary);box-shadow:var(--ex-shadow-focus)}.ex-pillinput-error{border-color:var(--ex-danger)}.ex-pillinput-pills{display:flex;flex-wrap:wrap;align-items:center;gap:4px;flex:1}.ex-pillinput-input{flex:1;min-width:80px;padding:4px 0;border:none;background:transparent;font-size:var(--ex-font-base);color:var(--ex-text-primary);outline:none}.ex-pillinput-input::placeholder{color:var(--ex-text-muted)}.ex-pillinput-cell{gap:0}.ex-pillinput-cell .ex-pillinput-wrapper{border:none;border-radius:0;background:transparent;min-height:40px}.ex-pillinput-cell .ex-pillinput-wrapper:hover{background:var(--ex-bg-hover)}.ex-pillinput-cell .ex-pillinput-wrapper:focus-within{background:var(--ex-bg-primary);box-shadow:inset 0 0 0 2px var(--ex-primary)}.ex-timer-container{display:flex;flex-direction:column;gap:6px}.ex-timer-wrapper{display:flex;align-items:stretch;height:var(--ex-input-height);border:1px solid var(--ex-border-default);border-radius:var(--ex-radius-md);background:var(--ex-bg-primary);overflow:hidden}.ex-timer-display{flex:1;display:flex;align-items:center;justify-content:center;padding:0 12px;font-family:var(--ex-font-mono);font-size:var(--ex-font-md);font-weight:var(--ex-font-weight-medium);color:var(--ex-text-primary);letter-spacing:.5px}.ex-timer-display-overtime{color:var(--ex-danger)}.ex-timer-running .ex-timer-display{color:var(--ex-success)}.ex-timer-overtime .ex-timer-display{color:var(--ex-danger)}.ex-timer-controls{display:flex;border-left:1px solid var(--ex-border-light)}.ex-timer-btn{display:flex;align-items:center;justify-content:center;width:36px;padding:0;background:transparent;border:none;border-right:1px solid var(--ex-border-light);color:var(--ex-text-tertiary);cursor:pointer;transition:background var(--ex-transition-fast),color var(--ex-transition-fast)}.ex-timer-btn:last-child{border-right:none}.ex-timer-btn:hover:not(:disabled){background:var(--ex-bg-hover);color:var(--ex-text-primary)}.ex-timer-btn:disabled{color:var(--ex-text-disabled);cursor:not-allowed}.ex-timer-btn-play{color:var(--ex-success)}.ex-timer-btn-play:hover:not(:disabled){background:var(--ex-success-light)}.ex-timer-btn-pause{color:var(--ex-warning)}.ex-timer-btn-pause:hover:not(:disabled){background:var(--ex-warning-light)}.ex-timer-btn-add-to-bar{color:var(--ex-info)}.ex-timer-btn-add-to-bar:hover:not(:disabled){background:var(--ex-info-light)}.ex-timer-presets-dropdown{min-width:180px}.ex-timer-preset-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;text-align:left;font-size:var(--ex-font-base);background:none;border:none;cursor:pointer;transition:background var(--ex-transition-fast)}.ex-timer-preset-option:hover{background:var(--ex-bg-hover)}.ex-timer-preset-label{color:var(--ex-text-primary)}.ex-timer-preset-time{font-family:var(--ex-font-mono);font-size:var(--ex-font-sm);color:var(--ex-text-muted)}.ex-timer-cell .ex-timer-wrapper{border:none;border-radius:0;background:transparent;height:100%;min-height:40px}.ex-timer-cell .ex-timer-wrapper:hover{background:var(--ex-bg-hover)}.ex-timer-cell .ex-timer-controls{border-left-color:transparent}.ex-timer-container.ex-floating-label-container{margin-top:.5em}.ex-timer-floating{position:relative;overflow:visible}.ex-timer-floating .ex-floating-label{position:absolute;left:var(--ex-space-3);top:0;transform:translateY(-50%);pointer-events:none;padding:0 var(--ex-space-1);display:flex;align-items:center;gap:var(--ex-space-1)}.ex-timer-floating .ex-floating-label-active{font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-medium);color:var(--ex-text-secondary);background-color:var(--ex-bg-primary)}.ex-timer-running .ex-floating-label-active{color:var(--ex-success)}.ex-timer-overtime .ex-floating-label-active{color:var(--ex-danger)}.ex-timerbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--ex-bg-primary);border:1px solid var(--ex-border-default);border-radius:var(--ex-radius-lg);box-shadow:var(--ex-shadow-lg);padding:var(--ex-space-2) var(--ex-space-3);z-index:1000;min-width:280px;max-width:90vw}.ex-timerbar-header{display:flex;align-items:center;gap:var(--ex-space-2);padding-bottom:var(--ex-space-2);border-bottom:1px solid var(--ex-border-light);margin-bottom:var(--ex-space-2);font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-semibold);color:var(--ex-text-muted);text-transform:uppercase;letter-spacing:.5px}.ex-timerbar-header svg{color:var(--ex-primary)}.ex-timerbar-items{display:flex;flex-direction:column;gap:var(--ex-space-2)}.ex-timerbar-item{display:flex;align-items:center;justify-content:space-between;gap:var(--ex-space-3);padding:var(--ex-space-2) var(--ex-space-3);background:var(--ex-bg-secondary);border-radius:var(--ex-radius-md);border:1px solid transparent;transition:border-color var(--ex-transition-fast),background var(--ex-transition-fast)}.ex-timerbar-item-running{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border-color:var(--ex-success)}.ex-timerbar-item-completed{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-color:var(--ex-warning)}.ex-timerbar-item-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.ex-timerbar-item-name{font-size:var(--ex-font-xs);font-weight:var(--ex-font-weight-medium);color:var(--ex-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.ex-timerbar-item-time{font-family:var(--ex-font-mono);font-size:18px;font-weight:var(--ex-font-weight-semibold);color:var(--ex-text-primary);letter-spacing:1px}.ex-timerbar-item-time-warning{color:var(--ex-danger);animation:ex-timerbar-pulse .5s ease-in-out infinite alternate}@keyframes ex-timerbar-pulse{0%{opacity:1}to{opacity:.6}}.ex-timerbar-item-controls{display:flex;gap:4px;flex-shrink:0}.ex-timerbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--ex-radius-sm);background:transparent;color:var(--ex-text-muted);cursor:pointer;transition:background var(--ex-transition-fast),color var(--ex-transition-fast),border-color var(--ex-transition-fast)}.ex-timerbar-btn:hover{background:var(--ex-bg-hover);border-color:var(--ex-border-default)}.ex-timerbar-btn-toggle:hover{background:#e8f5e9;border-color:var(--ex-success);color:#2e7d32}.ex-timerbar-btn-running{color:var(--ex-warning)}.ex-timerbar-btn-running:hover{background:#fff3e0;border-color:var(--ex-warning);color:#e65100}.ex-timerbar-btn-completed{color:var(--ex-info)}.ex-timerbar-btn-completed:hover{background:#e3f2fd;border-color:var(--ex-info);color:#0d47a1}.ex-timerbar-btn-reset:hover{background:#e3f2fd;border-color:var(--ex-info);color:var(--ex-info)}.ex-timerbar-btn-remove:hover{background:#ffebee;border-color:var(--ex-danger);color:var(--ex-danger)}@media(max-width:480px){.ex-timerbar{bottom:10px;left:10px;right:10px;transform:none;max-width:none}.ex-timerbar-item-name{max-width:100px}.ex-timerbar-item-time{font-size:16px}}.ex-autocomplete-container{display:flex;flex-direction:column;gap:6px}.ex-autocomplete-fullwidth{width:100%}.ex-autocomplete-wrapper{position:relative;display:flex;align-items:stretch;height:var(--ex-input-height);border:1px solid var(--ex-border-default);border-radius:var(--ex-radius-md);background:var(--ex-bg-primary);transition:border-color var(--ex-transition-fast),box-shadow var(--ex-transition-fast)}.ex-autocomplete-wrapper:hover:not(.ex-disabled){border-color:var(--ex-border-dark)}.ex-autocomplete-wrapper:focus-within{border-color:var(--ex-primary);box-shadow:var(--ex-shadow-focus)}.ex-autocomplete-error{border-color:var(--ex-danger)}.ex-autocomplete-silhouette{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding:0 12px;pointer-events:none;overflow:hidden}.ex-autocomplete-silhouette-text{font-size:var(--ex-font-base);color:var(--ex-text-disabled);white-space:nowrap;overflow:hidden}.ex-autocomplete-input{position:relative;flex:1;min-width:0;padding:0 12px;border:none;background:transparent;font-size:var(--ex-font-base);color:var(--ex-text-primary);outline:none;z-index:1}.ex-autocomplete-input::placeholder{color:var(--ex-text-muted)}.ex-autocomplete-cell{gap:0}.ex-autocomplete-cell .ex-autocomplete-wrapper{border:none;border-radius:0;background:transparent;height:100%;min-height:40px}.ex-autocomplete-cell .ex-autocomplete-wrapper:hover{background:var(--ex-bg-hover)}.ex-autocomplete-cell .ex-autocomplete-wrapper:focus-within{background:var(--ex-bg-primary);box-shadow:inset 0 0 0 2px var(--ex-primary)}.ex-input-cell{gap:0}.ex-input-cell .ex-input-wrapper{border:none;border-radius:0;background:transparent;height:100%;min-height:40px}.ex-input-cell .ex-input{border:none;border-radius:0;background:transparent;padding:8px 10px;font-size:13px}.ex-input-cell .ex-input:hover{background:var(--ex-bg-hover)}.ex-input-cell .ex-input:focus{background:var(--ex-bg-primary);box-shadow:inset 0 0 0 2px var(--ex-primary)}.ex-textarea-cell{gap:0}.ex-textarea-cell .ex-textarea{border:none;border-radius:0;background:transparent;padding:8px 10px;font-size:13px;min-height:60px}.ex-textarea-cell .ex-textarea:hover{background:var(--ex-bg-hover)}.ex-textarea-cell .ex-textarea:focus{background:var(--ex-bg-primary);box-shadow:inset 0 0 0 2px var(--ex-primary)}.ex-select-cell{gap:0}.ex-select-cell .ex-select{border:none;border-radius:0;background-color:transparent;padding:8px 28px 8px 10px;font-size:13px;min-height:40px;height:100%}.ex-select-cell .ex-select:hover{background-color:var(--ex-bg-hover)}.ex-select-cell .ex-select:focus{background-color:var(--ex-bg-primary);box-shadow:inset 0 0 0 2px var(--ex-primary)}.ex-switch-cell{display:flex;align-items:center;justify-content:center;min-height:40px;padding:0}.ex-switch-cell:hover{background:var(--ex-bg-hover)}.ex-progress{position:relative;width:100%;height:8px;background-color:var(--ex-bg-secondary);border-radius:4px;overflow:hidden}.ex-progress-sm{height:4px}.ex-progress-md{height:8px}.ex-progress-lg{height:12px}.ex-progress-xl{height:16px}.ex-progress-bar{height:100%;border-radius:4px;transition:width .3s ease}.ex-progress-primary{background-color:var(--ex-primary)}.ex-progress-secondary{background-color:var(--ex-text-muted)}.ex-progress-success{background-color:var(--ex-success)}.ex-progress-warning{background-color:var(--ex-warning)}.ex-progress-danger{background-color:var(--ex-danger)}.ex-progress-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.ex-progress-animated{animation:progress-stripes 1s linear infinite}@keyframes progress-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.ex-progress-indeterminate .ex-progress-bar{width:30%!important;animation:progress-indeterminate 1.5s ease-in-out infinite}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.ex-progress-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;font-weight:600;color:var(--ex-text)}.ex-skeleton{background-color:var(--skeleton-base, var(--ex-bg-secondary));position:relative;overflow:hidden}.ex-skeleton-pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.ex-skeleton-wave{background:linear-gradient(90deg,var(--skeleton-base, var(--ex-bg-secondary)) 25%,var(--skeleton-highlight, var(--ex-bg-hover)) 50%,var(--skeleton-base, var(--ex-bg-secondary)) 75%);background-size:200% 100%;animation:skeleton-wave 1.5s linear infinite}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.ex-skeleton-shimmer{background:var(--skeleton-base, var(--ex-bg-secondary))}.ex-skeleton-shimmer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,var(--skeleton-shimmer, rgba(255, 255, 255, .4)) 50%,transparent 100%);transform:translate(-100%);animation:skeleton-shimmer 1.8s ease-in-out infinite}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ex-skeleton-glow{background:var(--skeleton-base, var(--ex-bg-secondary));animation:skeleton-glow 2s ease-in-out infinite}@keyframes skeleton-glow{0%,to{box-shadow:0 0 0 0 var(--skeleton-glow-color, rgba(102, 126, 234, 0))}50%{box-shadow:0 0 20px 2px var(--skeleton-glow-color, rgba(102, 126, 234, .15))}}.ex-skeleton-gradient{background:linear-gradient(-45deg,var(--skeleton-base, var(--ex-bg-secondary)) 40%,var(--skeleton-highlight, var(--ex-bg-hover)) 50%,var(--skeleton-base, var(--ex-bg-secondary)) 60%);background-size:400% 400%;animation:skeleton-gradient 2s ease infinite}@keyframes skeleton-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.ex-skeleton-none{animation:none}.ex-skeleton-group{display:flex;flex-direction:column}.ex-table-skeleton{width:100%;overflow:hidden;border-radius:var(--ex-radius-md);border:1px solid var(--ex-border-default)}.ex-table-skeleton-table{width:100%;border-collapse:collapse;table-layout:fixed}.ex-table-skeleton-header-row{background-color:var(--ex-bg-tertiary)}.ex-table-skeleton-header-cell{padding:12px 16px;text-align:left;border-bottom:1px solid var(--ex-border-default)}.ex-table-skeleton-row{border-bottom:1px solid var(--ex-border-light)}.ex-table-skeleton-row:last-child{border-bottom:none}.ex-table-skeleton-cell{padding:14px 16px}.ex-table-skeleton-cell:last-child{width:60px;text-align:center}.ex-table-skeleton-row:nth-child(1) .ex-skeleton{animation-delay:0s}.ex-table-skeleton-row:nth-child(2) .ex-skeleton{animation-delay:.1s}.ex-table-skeleton-row:nth-child(3) .ex-skeleton{animation-delay:.2s}.ex-table-skeleton-row:nth-child(4) .ex-skeleton{animation-delay:.3s}.ex-table-skeleton-row:nth-child(5) .ex-skeleton{animation-delay:.4s}.ex-table-skeleton-row:nth-child(6) .ex-skeleton{animation-delay:.5s}.ex-table-skeleton-row:nth-child(7) .ex-skeleton{animation-delay:.6s}.ex-table-skeleton-row:nth-child(8) .ex-skeleton{animation-delay:.7s}.ex-table-skeleton-row:nth-child(9) .ex-skeleton{animation-delay:.8s}.ex-table-skeleton-row:nth-child(10) .ex-skeleton{animation-delay:.9s}.ex-alert{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:8px;border:1px solid transparent}.ex-alert-compact{padding:8px 12px;gap:8px}.ex-alert-info{background-color:#118ab21a;border-color:#118ab24d;color:var(--ex-info)}.ex-alert-success{background-color:#28a7451a;border-color:#28a7454d;color:var(--ex-success)}.ex-alert-warning{background-color:#ffc1071a;border-color:#ffc1074d;color:#856404}.ex-alert-danger{background-color:#dc35451a;border-color:#dc35454d;color:var(--ex-danger)}.ex-alert-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.ex-alert-content{flex:1;min-width:0}.ex-alert-title{font-weight:600;margin-bottom:4px;color:inherit}.ex-alert-message{color:var(--ex-text);font-size:14px;line-height:1.5}.ex-alert-dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:none;border-radius:4px;cursor:pointer;opacity:.7;transition:opacity .15s ease,background-color .15s ease}.ex-alert-dismiss:hover{opacity:1;background-color:#0000001a}.ex-divider{border:none;margin:0;background-color:var(--ex-border-light)}.ex-divider-horizontal{height:1px;width:100%}.ex-divider-vertical{width:1px;height:100%;align-self:stretch}.ex-divider-margin-sm{margin:8px 0}.ex-divider-margin-md{margin:16px 0}.ex-divider-margin-lg{margin:24px 0}.ex-divider-margin-xl{margin:32px 0}.ex-divider-dashed{background:repeating-linear-gradient(90deg,var(--ex-border-light),var(--ex-border-light) 4px,transparent 4px,transparent 8px)}.ex-divider-with-label{display:flex;align-items:center;gap:12px}.ex-divider-line{flex:1;height:1px;background-color:var(--ex-border-light)}.ex-divider-line.ex-divider-dashed{background:repeating-linear-gradient(90deg,var(--ex-border-light),var(--ex-border-light) 4px,transparent 4px,transparent 8px)}.ex-divider-label-text{font-size:12px;color:var(--ex-text-muted);white-space:nowrap}.ex-divider-label-left .ex-divider-line:first-child{display:none}.ex-divider-label-right .ex-divider-line:last-child{display:none}.ex-spinner-container{display:inline-flex;align-items:center;gap:8px}.ex-spinner{animation:ex-spin 1s linear infinite}.ex-spinner-sm{width:16px;height:16px}.ex-spinner-md{width:24px;height:24px}.ex-spinner-lg{width:32px;height:32px}.ex-spinner-xl{width:48px;height:48px}.ex-spinner-track{stroke:var(--ex-bg-secondary)}.ex-spinner-indicator{stroke:currentColor;stroke-dasharray:60 200;stroke-dashoffset:0}.ex-spinner-primary{color:var(--ex-primary)}.ex-spinner-secondary{color:var(--ex-text-muted)}.ex-spinner-success{color:var(--ex-success)}.ex-spinner-warning{color:var(--ex-warning)}.ex-spinner-danger{color:var(--ex-danger)}.ex-spinner-label{font-size:14px;color:var(--ex-text-muted)}.ex-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--ex-primary);color:#fff;font-weight:600}.ex-avatar-xs{width:24px;height:24px;font-size:10px}.ex-avatar-sm{width:32px;height:32px;font-size:12px}.ex-avatar-md{width:40px;height:40px;font-size:14px}.ex-avatar-lg{width:56px;height:56px;font-size:18px}.ex-avatar-xl{width:80px;height:80px;font-size:24px}.ex-avatar-circle{border-radius:50%}.ex-avatar-square{border-radius:0}.ex-avatar-rounded{border-radius:8px}.ex-avatar-image{width:100%;height:100%;object-fit:cover}.ex-avatar-initials{-webkit-user-select:none;user-select:none}.ex-avatar-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.ex-avatar-clickable:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.ex-avatar-status{position:absolute;bottom:0;right:0;width:25%;height:25%;min-width:8px;min-height:8px;border-radius:50%;border:2px solid var(--ex-bg-primary)}.ex-avatar-status-online{background-color:var(--ex-success)}.ex-avatar-status-offline{background-color:var(--ex-text-muted)}.ex-avatar-status-away{background-color:var(--ex-warning)}.ex-avatar-status-busy{background-color:var(--ex-danger)}[data-theme=dark] .ex-alert-warning{color:var(--ex-warning)}[data-theme=dark] .ex-alert-message{color:var(--ex-text)}
