@nice2dev/ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ui.css ADDED
@@ -0,0 +1 @@
1
+ :root{--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #06b6d4;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--border-color: #e2e8f0;--hover-bg: #f1f5f9;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1)}.nice-dark,[data-theme=dark]{--color-primary: #60a5fa;--color-primary-hover: #3b82f6;--color-success: #34d399;--color-warning: #fbbf24;--color-error: #f87171;--color-info: #22d3ee;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #334155;--hover-bg: #1e293b;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.4);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.4);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.4)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary: #60a5fa;--color-primary-hover: #3b82f6;--color-success: #34d399;--color-warning: #fbbf24;--color-error: #f87171;--color-info: #22d3ee;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #334155;--hover-bg: #1e293b;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.4);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.4);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.4)}}:root{--nice-space-1: 4px;--nice-space-2: 8px;--nice-space-3: 12px;--nice-space-4: 16px;--nice-space-5: 20px;--nice-space-6: 24px;--nice-space-8: 32px;--nice-font-family: "Inter", system-ui, -apple-system, sans-serif;--nice-font-size-xs: .75rem;--nice-font-size-sm: .8125rem;--nice-font-size-md: .875rem;--nice-font-size-lg: 1rem;--nice-font-size-xl: 1.125rem;--nice-font-weight-normal: 400;--nice-font-weight-medium: 500;--nice-font-weight-semibold: 600;--nice-font-weight-bold: 700;--nice-line-height: 1.5;--nice-radius-sm: 4px;--nice-radius-md: 6px;--nice-radius-lg: 8px;--nice-radius-xl: 12px;--nice-radius-full: 9999px;--nice-transition-fast: .12s ease;--nice-transition: .2s ease;--nice-transition-slow: .3s ease;--nice-z-dropdown: 100;--nice-z-sticky: 200;--nice-z-overlay: 300;--nice-z-modal: 400;--nice-z-toast: 500;--nice-focus-ring: 0 0 0 2px var(--bg-primary), 0 0 0 4px var(--color-primary)}.nice-field{display:flex;flex-direction:column;gap:var(--nice-space-1);font-family:var(--nice-font-family)}.nice-field--horizontal{flex-direction:row;align-items:center;gap:var(--nice-space-3)}.nice-field__label{font-size:var(--nice-font-size-sm);font-weight:var(--nice-font-weight-medium);color:var(--text-primary);line-height:var(--nice-line-height);-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;gap:4px}.nice-field__label--required:after{content:" *";color:var(--color-error)}.nice-keyboard-hint{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-muted);cursor:help;font-size:.65rem;font-weight:600;transition:all .15s ease}.nice-keyboard-hint:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.nice-keyboard-hint--sm{width:14px;height:14px;font-size:.6rem}.nice-keyboard-hint--md{width:18px;height:18px;font-size:.7rem}.nice-keyboard-hint__tooltip{z-index:10000;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #00000026;padding:10px 14px;min-width:180px;max-width:280px;pointer-events:none}.nice-keyboard-hint__title{font-size:.75rem;font-weight:600;color:var(--text-primary);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.nice-keyboard-hint__list{list-style:none;margin:0;padding:0}.nice-keyboard-hint__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 0;font-size:.75rem}.nice-keyboard-hint__key{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.65rem;font-weight:500;color:var(--text-primary);white-space:nowrap}.nice-keyboard-hint__desc{color:var(--text-muted);text-align:right;flex:1}.nice-field__helper{font-size:var(--nice-font-size-xs);color:var(--text-muted);line-height:var(--nice-line-height)}.nice-field__error{font-size:var(--nice-font-size-xs);color:var(--color-error);line-height:var(--nice-line-height);display:flex;align-items:center;gap:var(--nice-space-1)}.nice-input{display:flex;align-items:center;gap:var(--nice-space-2);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--nice-radius-md);color:var(--text-primary);font-family:var(--nice-font-family);font-size:var(--nice-font-size-md);transition:border-color var(--nice-transition),box-shadow var(--nice-transition);position:relative}.nice-input:hover{border-color:var(--color-primary)}.nice-input:focus-within{border-color:var(--color-primary);box-shadow:var(--nice-focus-ring)}.nice-input--error{border-color:var(--color-error)}.nice-input--error:focus-within{box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--color-error)}.nice-input--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.nice-input--readonly{background:var(--bg-tertiary)}.nice-input__native{flex:1;min-width:0;border:0;background:transparent;color:inherit;font:inherit;outline:none}.nice-input__native::placeholder{color:var(--text-muted)}.nice-input--xs{padding:2px 6px;font-size:var(--nice-font-size-xs)}.nice-input--sm{padding:4px 8px;font-size:var(--nice-font-size-sm)}.nice-input--md{padding:6px 10px;font-size:var(--nice-font-size-md)}.nice-input--lg{padding:8px 12px;font-size:var(--nice-font-size-lg)}.nice-input--xl{padding:10px 14px;font-size:var(--nice-font-size-xl)}.nice-input__icon{display:flex;align-items:center;color:var(--text-muted);flex-shrink:0}.nice-input__clear{cursor:pointer;color:var(--text-muted);background:none;border:none;padding:2px;display:flex;align-items:center;border-radius:var(--nice-radius-full);transition:color var(--nice-transition-fast),background var(--nice-transition-fast)}.nice-input__clear:hover{color:var(--text-primary);background:var(--hover-bg)}.nice-textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--nice-radius-md);color:var(--text-primary);font-family:var(--nice-font-family);font-size:var(--nice-font-size-md);padding:8px 10px;resize:vertical;min-height:80px;outline:none;transition:border-color var(--nice-transition),box-shadow var(--nice-transition);line-height:var(--nice-line-height);width:100%}.nice-textarea:hover{border-color:var(--color-primary)}.nice-textarea:focus{border-color:var(--color-primary);box-shadow:var(--nice-focus-ring)}.nice-textarea--error{border-color:var(--color-error)}.nice-textarea--disabled{opacity:.5;cursor:not-allowed}.nice-textarea__counter{font-size:var(--nice-font-size-xs);color:var(--text-muted);text-align:right}.nice-textarea__counter--over{color:var(--color-error)}.nice-select{position:relative}.nice-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--nice-space-2);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--nice-radius-md);color:var(--text-primary);cursor:pointer;font:inherit;font-size:var(--nice-font-size-md);text-align:left;width:100%;transition:border-color var(--nice-transition),box-shadow var(--nice-transition)}.nice-select__trigger:hover{border-color:var(--color-primary)}.nice-select__trigger:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--nice-focus-ring)}.nice-select__trigger--open{border-color:var(--color-primary);box-shadow:var(--nice-focus-ring)}.nice-select__trigger--error{border-color:var(--color-error)}.nice-select__trigger--disabled{opacity:.5;cursor:not-allowed}.nice-select__trigger--xs{padding:2px 6px;font-size:var(--nice-font-size-xs)}.nice-select__trigger--sm{padding:4px 8px;font-size:var(--nice-font-size-sm)}.nice-select__trigger--md{padding:6px 10px;font-size:var(--nice-font-size-md)}.nice-select__trigger--lg{padding:8px 12px;font-size:var(--nice-font-size-lg)}.nice-select__trigger--xl{padding:10px 14px;font-size:var(--nice-font-size-xl)}.nice-select__placeholder{color:var(--text-muted)}.nice-select__chevron{flex-shrink:0;width:16px;height:16px;color:var(--text-muted);transition:transform var(--nice-transition-fast)}.nice-select__chevron--open{transform:rotate(180deg)}.nice-select__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:var(--nice-z-dropdown);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--nice-radius-md);box-shadow:var(--shadow-lg);max-height:240px;overflow-y:auto;padding:var(--nice-space-1) 0;animation:nice-dropdown-in var(--nice-transition-fast)}@keyframes nice-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nice-select__search{padding:var(--nice-space-2);border-bottom:1px solid var(--border-color)}.nice-select__search input{width:100%;border:1px solid var(--border-color);border-radius:var(--nice-radius-sm);padding:4px 8px;font:inherit;font-size:var(--nice-font-size-sm);background:var(--bg-secondary);color:var(--text-primary);outline:none}.nice-select__search input:focus{border-color:var(--color-primary)}.nice-select__group-label{padding:var(--nice-space-1) var(--nice-space-3);font-size:var(--nice-font-size-xs);font-weight:var(--nice-font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.nice-select__option{display:flex;align-items:center;gap:var(--nice-space-2);padding:var(--nice-space-2) var(--nice-space-3);cursor:pointer;font-size:var(--nice-font-size-md);color:var(--text-primary);transition:background var(--nice-transition-fast)}.nice-select__option:hover,.nice-select__option--highlighted{background:var(--hover-bg)}.nice-select__option--selected{background:var(--hover-bg);font-weight:var(--nice-font-weight-medium)}.nice-select__option--disabled{opacity:.4;cursor:not-allowed}.nice-select__option-desc{font-size:var(--nice-font-size-xs);color:var(--text-muted)}.nice-select__option-check{color:var(--color-primary);width:14px;flex-shrink:0}.nice-select__empty{padding:var(--nice-space-4);text-align:center;color:var(--text-muted);font-size:var(--nice-font-size-sm)}.nice-checkbox{display:inline-flex;align-items:flex-start;gap:var(--nice-space-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--nice-font-family);font-size:var(--nice-font-size-md);color:var(--text-primary);line-height:var(--nice-line-height)}.nice-checkbox--disabled{opacity:.5;cursor:not-allowed}.nice-checkbox__input{position:absolute;opacity:0;width:0;height:0}.nice-checkbox__box{flex-shrink:0;width:18px;height:18px;border:2px solid var(--border-color);border-radius:var(--nice-radius-sm);background:var(--bg-primary);display:flex;align-items:center;justify-content:center;transition:all var(--nice-transition-fast);margin-top:2px}.nice-checkbox__box svg{width:12px;height:12px;color:#fff;opacity:0;transition:opacity var(--nice-transition-fast)}.nice-checkbox:hover .nice-checkbox__box{border-color:var(--color-primary)}.nice-checkbox__input:checked+.nice-checkbox__box{background:var(--color-primary);border-color:var(--color-primary)}.nice-checkbox__input:checked+.nice-checkbox__box svg{opacity:1}.nice-checkbox__input:indeterminate+.nice-checkbox__box{background:var(--color-primary);border-color:var(--color-primary)}.nice-checkbox__input:focus-visible+.nice-checkbox__box{box-shadow:var(--nice-focus-ring)}.nice-checkbox--sm .nice-checkbox__box{width:14px;height:14px}.nice-checkbox--sm .nice-checkbox__box svg{width:10px;height:10px}.nice-checkbox--lg .nice-checkbox__box{width:22px;height:22px}.nice-checkbox--lg .nice-checkbox__box svg{width:14px;height:14px}.nice-toggle{display:inline-flex;align-items:center;gap:var(--nice-space-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--nice-font-family);font-size:var(--nice-font-size-md);color:var(--text-primary)}.nice-toggle--disabled{opacity:.5;cursor:not-allowed}.nice-toggle__input{position:absolute;opacity:0;width:0;height:0}.nice-toggle__track{position:relative;width:40px;height:22px;border-radius:var(--nice-radius-full);background:var(--border-color);transition:background var(--nice-transition);flex-shrink:0}.nice-toggle__thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:var(--nice-radius-full);background:#fff;box-shadow:0 1px 3px #0003;transition:transform var(--nice-transition)}.nice-toggle__input:checked+.nice-toggle__track{background:var(--color-primary)}.nice-toggle__input:checked+.nice-toggle__track .nice-toggle__thumb{transform:translate(18px)}.nice-toggle__input:focus-visible+.nice-toggle__track{box-shadow:var(--nice-focus-ring)}.nice-toggle--sm .nice-toggle__track{width:32px;height:18px}.nice-toggle--sm .nice-toggle__thumb{width:14px;height:14px}.nice-toggle--sm .nice-toggle__input:checked+.nice-toggle__track .nice-toggle__thumb{transform:translate(14px)}.nice-toggle--lg .nice-toggle__track{width:52px;height:28px}.nice-toggle--lg .nice-toggle__thumb{width:24px;height:24px}.nice-toggle--lg .nice-toggle__input:checked+.nice-toggle__track .nice-toggle__thumb{transform:translate(24px)}.nice-radio-group{display:flex;gap:var(--nice-space-3);font-family:var(--nice-font-family)}.nice-radio-group--vertical{flex-direction:column}.nice-radio{display:inline-flex;align-items:center;gap:var(--nice-space-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--nice-font-size-md);color:var(--text-primary)}.nice-radio--disabled{opacity:.5;cursor:not-allowed}.nice-radio__input{position:absolute;opacity:0;width:0;height:0}.nice-radio__circle{flex-shrink:0;width:18px;height:18px;border:2px solid var(--border-color);border-radius:var(--nice-radius-full);background:var(--bg-primary);display:flex;align-items:center;justify-content:center;transition:border-color var(--nice-transition-fast)}.nice-radio__dot{width:8px;height:8px;border-radius:var(--nice-radius-full);background:var(--color-primary);transform:scale(0);transition:transform var(--nice-transition-fast)}.nice-radio:hover .nice-radio__circle{border-color:var(--color-primary)}.nice-radio__input:checked+.nice-radio__circle{border-color:var(--color-primary)}.nice-radio__input:checked+.nice-radio__circle .nice-radio__dot{transform:scale(1)}.nice-radio__input:focus-visible+.nice-radio__circle{box-shadow:var(--nice-focus-ring)}.nice-slider{display:flex;flex-direction:column;gap:var(--nice-space-1);font-family:var(--nice-font-family)}.nice-slider__track-wrapper{position:relative;height:24px;display:flex;align-items:center;cursor:pointer}.nice-slider__track{width:100%;height:4px;border-radius:var(--nice-radius-full);background:var(--border-color);position:relative;overflow:hidden}.nice-slider__fill{height:100%;background:var(--color-primary);border-radius:var(--nice-radius-full);transition:width var(--nice-transition-fast)}.nice-slider__native{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.nice-slider__native:focus-visible~.nice-slider__thumb-visual{box-shadow:var(--nice-focus-ring)}.nice-slider__thumb-visual{position:absolute;top:50%;width:18px;height:18px;border-radius:var(--nice-radius-full);background:var(--color-primary);border:2px solid #fff;box-shadow:var(--shadow-sm);transform:translate(-50%,-50%);pointer-events:none;transition:box-shadow var(--nice-transition-fast)}.nice-slider__labels{display:flex;justify-content:space-between;font-size:var(--nice-font-size-xs);color:var(--text-muted)}.nice-slider__value{font-size:var(--nice-font-size-sm);color:var(--text-secondary);font-weight:var(--nice-font-weight-medium);text-align:right}.nice-slider--disabled{opacity:.5;pointer-events:none}.nice-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--nice-space-2);font-family:var(--nice-font-family);font-weight:var(--nice-font-weight-medium);border-radius:var(--nice-radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--nice-transition);-webkit-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;line-height:1}.nice-btn:focus-visible{outline:none;box-shadow:var(--nice-focus-ring)}.nice-btn:disabled,.nice-btn--loading{opacity:.5;cursor:not-allowed;pointer-events:none}.nice-btn--xs{padding:4px 8px;font-size:var(--nice-font-size-xs)}.nice-btn--sm{padding:6px 12px;font-size:var(--nice-font-size-sm)}.nice-btn--md{padding:8px 16px;font-size:var(--nice-font-size-md)}.nice-btn--lg{padding:10px 20px;font-size:var(--nice-font-size-lg)}.nice-btn--xl{padding:12px 24px;font-size:var(--nice-font-size-xl)}.nice-btn--primary{background:var(--color-primary);color:#fff}.nice-btn--primary:hover{background:var(--color-primary-hover)}.nice-btn--secondary{background:var(--bg-tertiary);color:var(--text-primary)}.nice-btn--secondary:hover{background:var(--border-color)}.nice-btn--success{background:var(--color-success);color:#fff}.nice-btn--success:hover{filter:brightness(.9)}.nice-btn--warning{background:var(--color-warning);color:#fff}.nice-btn--warning:hover{filter:brightness(.9)}.nice-btn--error{background:var(--color-error);color:#fff}.nice-btn--error:hover{filter:brightness(.9)}.nice-btn--info{background:var(--color-info);color:#fff}.nice-btn--info:hover{filter:brightness(.9)}.nice-btn--ghost{background:transparent;color:var(--text-primary)}.nice-btn--ghost:hover{background:var(--hover-bg)}.nice-btn--outline{background:transparent;border-color:var(--border-color);color:var(--text-primary)}.nice-btn--outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.nice-btn--full-width{width:100%}.nice-btn__spinner{animation:nice-spin .6s linear infinite;width:14px;height:14px}.nice-btn-group{display:inline-flex}.nice-btn-group .nice-btn{border-radius:0}.nice-btn-group .nice-btn:first-child{border-radius:var(--nice-radius-md) 0 0 var(--nice-radius-md)}.nice-btn-group .nice-btn:last-child{border-radius:0 var(--nice-radius-md) var(--nice-radius-md) 0}.nice-btn-group .nice-btn+.nice-btn{margin-left:-1px}.nice-icon-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--nice-radius-md);transition:all var(--nice-transition-fast);padding:6px}.nice-icon-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.nice-icon-btn:focus-visible{outline:none;box-shadow:var(--nice-focus-ring)}.nice-icon-btn--xs{padding:2px}.nice-icon-btn--sm{padding:4px}.nice-icon-btn--lg{padding:8px}.nice-icon-btn--xl{padding:10px}.nice-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--nice-font-family);font-weight:var(--nice-font-weight-medium);line-height:1;border-radius:var(--nice-radius-full);white-space:nowrap;-webkit-user-select:none;user-select:none}.nice-badge--xs{padding:1px 6px;font-size:10px}.nice-badge--sm{padding:2px 8px;font-size:var(--nice-font-size-xs)}.nice-badge--md{padding:3px 10px;font-size:var(--nice-font-size-sm)}.nice-badge--lg{padding:4px 12px;font-size:var(--nice-font-size-md)}.nice-badge--primary{background:var(--color-primary);color:#fff}.nice-badge--secondary{background:var(--bg-tertiary);color:var(--text-primary)}.nice-badge--success{background:var(--color-success);color:#fff}.nice-badge--warning{background:var(--color-warning);color:#fff}.nice-badge--error{background:var(--color-error);color:#fff}.nice-badge--info{background:var(--color-info);color:#fff}.nice-badge--outline{background:transparent;border:1px solid currentColor}.nice-badge--outline.nice-badge--primary{color:var(--color-primary)}.nice-badge--outline.nice-badge--success{color:var(--color-success)}.nice-badge--outline.nice-badge--warning{color:var(--color-warning)}.nice-badge--outline.nice-badge--error{color:var(--color-error)}.nice-badge--outline.nice-badge--info{color:var(--color-info)}.nice-badge--dot:before{content:"";width:6px;height:6px;border-radius:var(--nice-radius-full);background:currentColor}.nice-badge--removable{padding-right:4px}.nice-badge__remove{cursor:pointer;background:none;border:none;color:inherit;opacity:.7;display:flex;padding:0 2px;font-size:1em}.nice-badge__remove:hover{opacity:1}.nice-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-family:var(--nice-font-family);font-size:var(--nice-font-size-sm);border-radius:var(--nice-radius-md);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);-webkit-user-select:none;user-select:none}.nice-tag--clickable{cursor:pointer}.nice-tag--clickable:hover{background:var(--hover-bg);border-color:var(--color-primary)}.nice-tag--selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.nice-tag__remove{cursor:pointer;background:none;border:none;color:inherit;opacity:.7;display:flex;padding:0;margin-left:2px}.nice-tag__remove:hover{opacity:1}.nice-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--nice-radius-full);background:var(--color-primary);color:#fff;font-family:var(--nice-font-family);font-weight:var(--nice-font-weight-semibold);overflow:hidden;-webkit-user-select:none;user-select:none;flex-shrink:0}.nice-avatar--xs{width:24px;height:24px;font-size:10px}.nice-avatar--sm{width:32px;height:32px;font-size:var(--nice-font-size-xs)}.nice-avatar--md{width:40px;height:40px;font-size:var(--nice-font-size-md)}.nice-avatar--lg{width:48px;height:48px;font-size:var(--nice-font-size-lg)}.nice-avatar--xl{width:64px;height:64px;font-size:var(--nice-font-size-xl)}.nice-avatar--square{border-radius:var(--nice-radius-md)}.nice-avatar img{width:100%;height:100%;object-fit:cover}.nice-avatar-group{display:flex}.nice-avatar-group .nice-avatar{margin-left:-8px;border:2px solid var(--bg-primary)}.nice-avatar-group .nice-avatar:first-child{margin-left:0}.nice-progress{display:flex;flex-direction:column;gap:var(--nice-space-1);font-family:var(--nice-font-family)}.nice-progress__header{display:flex;justify-content:space-between;font-size:var(--nice-font-size-sm)}.nice-progress__label{color:var(--text-primary);font-weight:var(--nice-font-weight-medium)}.nice-progress__value{color:var(--text-secondary)}.nice-progress__track{height:8px;border-radius:var(--nice-radius-full);background:var(--bg-tertiary);overflow:hidden}.nice-progress__track--sm{height:4px}.nice-progress__track--lg{height:12px}.nice-progress__fill{height:100%;border-radius:var(--nice-radius-full);transition:width var(--nice-transition-slow)}.nice-progress__fill--primary{background:var(--color-primary)}.nice-progress__fill--success{background:var(--color-success)}.nice-progress__fill--warning{background:var(--color-warning)}.nice-progress__fill--error{background:var(--color-error)}.nice-progress__fill--info{background:var(--color-info)}.nice-progress__fill--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%);background-size:1rem 1rem}.nice-progress__fill--animated{animation:nice-progress-stripe 1s linear infinite}@keyframes nice-progress-stripe{0%{background-position:1rem 0}to{background-position:0 0}}.nice-tooltip-wrapper{position:relative;display:inline-flex}.nice-tooltip{position:absolute;padding:4px 8px;background:var(--text-primary);color:var(--bg-primary);font-family:var(--nice-font-family);font-size:var(--nice-font-size-xs);border-radius:var(--nice-radius-sm);white-space:nowrap;pointer-events:none;z-index:var(--nice-z-toast);animation:nice-tooltip-in var(--nice-transition-fast)}.nice-tooltip--top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.nice-tooltip--bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.nice-tooltip--left{right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.nice-tooltip--right{left:calc(100% + 6px);top:50%;transform:translateY(-50%)}@keyframes nice-tooltip-in{0%{opacity:0}to{opacity:1}}.nice-alert{display:flex;gap:var(--nice-space-3);padding:var(--nice-space-3) var(--nice-space-4);border-radius:var(--nice-radius-md);font-family:var(--nice-font-family);font-size:var(--nice-font-size-md);line-height:var(--nice-line-height);border:1px solid transparent}.nice-alert--info{background:color-mix(in srgb,var(--color-info) 10%,var(--bg-primary));border-color:color-mix(in srgb,var(--color-info) 30%,transparent);color:var(--text-primary)}.nice-alert--success{background:color-mix(in srgb,var(--color-success) 10%,var(--bg-primary));border-color:color-mix(in srgb,var(--color-success) 30%,transparent);color:var(--text-primary)}.nice-alert--warning{background:color-mix(in srgb,var(--color-warning) 10%,var(--bg-primary));border-color:color-mix(in srgb,var(--color-warning) 30%,transparent);color:var(--text-primary)}.nice-alert--error{background:color-mix(in srgb,var(--color-error) 10%,var(--bg-primary));border-color:color-mix(in srgb,var(--color-error) 30%,transparent);color:var(--text-primary)}.nice-alert__icon{flex-shrink:0;width:20px;height:20px;margin-top:1px}.nice-alert__icon--info{color:var(--color-info)}.nice-alert__icon--success{color:var(--color-success)}.nice-alert__icon--warning{color:var(--color-warning)}.nice-alert__icon--error{color:var(--color-error)}.nice-alert__content{flex:1}.nice-alert__title{font-weight:var(--nice-font-weight-semibold);margin-bottom:2px}.nice-alert__close{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:var(--nice-radius-sm)}.nice-alert__close:hover{color:var(--text-primary);background:var(--hover-bg)}.nice-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--nice-z-modal);background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--nice-space-6);animation:nice-fade-in var(--nice-transition)}.nice-modal{background:var(--bg-primary);border-radius:var(--nice-radius-xl);box-shadow:var(--shadow-xl);max-height:90vh;display:flex;flex-direction:column;animation:nice-modal-in var(--nice-transition);font-family:var(--nice-font-family);width:100%}@keyframes nice-modal-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.nice-modal--sm{max-width:400px}.nice-modal--md{max-width:560px}.nice-modal--lg{max-width:720px}.nice-modal--xl{max-width:960px}.nice-modal--full{max-width:none}.nice-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--nice-space-4) var(--nice-space-5);border-bottom:1px solid var(--border-color)}.nice-modal__title{font-size:var(--nice-font-size-lg);font-weight:var(--nice-font-weight-semibold);color:var(--text-primary);margin:0}.nice-modal__close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--nice-radius-sm);display:flex}.nice-modal__close:hover{color:var(--text-primary);background:var(--hover-bg)}.nice-modal__body{padding:var(--nice-space-5);overflow-y:auto;color:var(--text-primary);font-size:var(--nice-font-size-md);line-height:var(--nice-line-height)}.nice-modal__footer{display:flex;gap:var(--nice-space-2);justify-content:flex-end;padding:var(--nice-space-4) var(--nice-space-5);border-top:1px solid var(--border-color)}.nice-skeleton{background:var(--bg-tertiary);border-radius:var(--nice-radius-md);position:relative;overflow:hidden}.nice-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,var(--hover-bg) 50%,transparent 100%);animation:nice-skeleton-pulse 1.5s ease-in-out infinite}@keyframes nice-skeleton-pulse{0%{transform:translate(-100%)}to{transform:translate(100%)}}.nice-skeleton--text{height:1em;border-radius:var(--nice-radius-sm)}.nice-skeleton--circle{border-radius:var(--nice-radius-full)}.nice-skeleton--rect{border-radius:var(--nice-radius-md)}.nice-spinner{display:inline-block;border:2px solid var(--border-color);border-top-color:var(--color-primary);border-radius:var(--nice-radius-full);animation:nice-spin .6s linear infinite}.nice-spinner--xs{width:14px;height:14px}.nice-spinner--sm{width:18px;height:18px}.nice-spinner--md{width:24px;height:24px}.nice-spinner--lg{width:32px;height:32px}.nice-spinner--xl{width:48px;height:48px}.nice-tabs{font-family:var(--nice-font-family)}.nice-tabs__list{display:flex;border-bottom:2px solid var(--border-color);gap:0}.nice-tabs__list--pills{border-bottom:none;gap:var(--nice-space-1);background:var(--bg-tertiary);padding:var(--nice-space-1);border-radius:var(--nice-radius-md)}.nice-tabs__list--enclosed{border-bottom:1px solid var(--border-color)}.nice-tabs__list--vertical{flex-direction:column;border-bottom:none;border-right:2px solid var(--border-color)}.nice-tabs__tab{display:flex;align-items:center;gap:var(--nice-space-2);padding:var(--nice-space-2) var(--nice-space-4);border:none;background:none;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:var(--nice-font-size-md);font-weight:var(--nice-font-weight-medium);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--nice-transition-fast);white-space:nowrap}.nice-tabs__tab:hover{color:var(--text-primary)}.nice-tabs__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.nice-tabs__tab--disabled{opacity:.4;cursor:not-allowed}.nice-tabs__list--pills .nice-tabs__tab{border-bottom:none;border-radius:var(--nice-radius-sm);margin-bottom:0}.nice-tabs__list--pills .nice-tabs__tab--active{background:var(--bg-primary);box-shadow:var(--shadow-sm);color:var(--text-primary)}.nice-tabs__badge{font-size:var(--nice-font-size-xs);padding:0 6px;border-radius:var(--nice-radius-full);background:var(--bg-tertiary);color:var(--text-secondary);line-height:1.6}.nice-tabs__tab--active .nice-tabs__badge{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary)}.nice-tabs__panel{padding:var(--nice-space-4) 0}.nice-accordion{border:1px solid var(--border-color);border-radius:var(--nice-radius-md);overflow:hidden;font-family:var(--nice-font-family)}.nice-accordion__item+.nice-accordion__item{border-top:1px solid var(--border-color)}.nice-accordion__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--nice-space-3) var(--nice-space-4);background:var(--bg-primary);border:none;color:var(--text-primary);font:inherit;font-size:var(--nice-font-size-md);font-weight:var(--nice-font-weight-medium);cursor:pointer;transition:background var(--nice-transition-fast);text-align:left}.nice-accordion__trigger:hover{background:var(--hover-bg)}.nice-accordion__chevron{width:16px;height:16px;color:var(--text-muted);transition:transform var(--nice-transition);flex-shrink:0}.nice-accordion__chevron--open{transform:rotate(180deg)}.nice-accordion__content{padding:0 var(--nice-space-4) var(--nice-space-4);color:var(--text-secondary);font-size:var(--nice-font-size-md);line-height:var(--nice-line-height);animation:nice-accordion-open var(--nice-transition)}@keyframes nice-accordion-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nice-breadcrumb{display:flex;align-items:center;gap:var(--nice-space-1);font-family:var(--nice-font-family);font-size:var(--nice-font-size-sm);color:var(--text-muted);flex-wrap:wrap}.nice-breadcrumb__item{display:flex;align-items:center;color:var(--text-secondary)}.nice-breadcrumb__link{color:var(--text-secondary);text-decoration:none;cursor:pointer;transition:color var(--nice-transition-fast)}.nice-breadcrumb__link:hover{color:var(--color-primary)}.nice-breadcrumb__current{color:var(--text-primary);font-weight:var(--nice-font-weight-medium)}.nice-breadcrumb__separator{color:var(--text-muted);margin:0 var(--nice-space-1)}.nice-pagination{display:flex;align-items:center;gap:var(--nice-space-1);font-family:var(--nice-font-family);font-size:var(--nice-font-size-sm)}.nice-pagination__btn{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--nice-space-2);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--nice-radius-md);color:var(--text-primary);cursor:pointer;font:inherit;transition:all var(--nice-transition-fast)}.nice-pagination__btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.nice-pagination__btn--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.nice-pagination__btn:disabled{opacity:.4;cursor:not-allowed}.nice-pagination__ellipsis{color:var(--text-muted);padding:0 var(--nice-space-1)}.nice-pagination__info{color:var(--text-secondary);margin-left:var(--nice-space-2)}.nice-table-wrapper{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--nice-radius-md);font-family:var(--nice-font-family)}.nice-table{width:100%;border-collapse:collapse;font-size:var(--nice-font-size-md)}.nice-table th{text-align:left;padding:var(--nice-space-3) var(--nice-space-4);background:var(--bg-tertiary);color:var(--text-secondary);font-weight:var(--nice-font-weight-semibold);font-size:var(--nice-font-size-sm);border-bottom:1px solid var(--border-color);white-space:nowrap;-webkit-user-select:none;user-select:none}.nice-table th--sortable{cursor:pointer}.nice-table th--sortable:hover{color:var(--text-primary)}.nice-table td{padding:var(--nice-space-3) var(--nice-space-4);color:var(--text-primary);border-bottom:1px solid var(--border-color)}.nice-table tbody tr:last-child td{border-bottom:none}.nice-table tbody tr:hover{background:var(--hover-bg)}.nice-table--striped tbody tr:nth-child(2n){background:var(--bg-secondary)}.nice-table--compact th,.nice-table--compact td{padding:var(--nice-space-2) var(--nice-space-3)}.nice-table__empty{text-align:center;padding:var(--nice-space-8)!important;color:var(--text-muted)}.nice-table__sort-icon{margin-left:var(--nice-space-1);color:var(--text-muted)}.nice-divider{border:none;border-top:1px solid var(--border-color);margin:var(--nice-space-4) 0}.nice-divider--vertical{border-top:none;border-left:1px solid var(--border-color);display:inline-block;height:1em;vertical-align:middle;margin:0 var(--nice-space-3)}.nice-divider--with-text{display:flex;align-items:center;gap:var(--nice-space-3);border:none;margin:var(--nice-space-4) 0;color:var(--text-muted);font-family:var(--nice-font-family);font-size:var(--nice-font-size-sm)}.nice-divider--with-text:before,.nice-divider--with-text:after{content:"";flex:1;height:1px;background:var(--border-color)}.nice-toast-container{position:fixed;z-index:var(--nice-z-toast);display:flex;flex-direction:column;gap:var(--nice-space-2);pointer-events:none;padding:var(--nice-space-4)}.nice-toast-container--top-right{top:0;right:0}.nice-toast-container--top-left{top:0;left:0}.nice-toast-container--bottom-right{bottom:0;right:0}.nice-toast-container--bottom-left{bottom:0;left:0}.nice-toast-container--top-center{top:0;left:50%;transform:translate(-50%)}.nice-toast{display:flex;align-items:flex-start;gap:var(--nice-space-3);padding:var(--nice-space-3) var(--nice-space-4);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--nice-radius-md);box-shadow:var(--shadow-lg);font-family:var(--nice-font-family);font-size:var(--nice-font-size-md);min-width:280px;max-width:420px;pointer-events:all;animation:nice-toast-in var(--nice-transition)}.nice-toast--exiting{animation:nice-toast-out var(--nice-transition) forwards}@keyframes nice-toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes nice-toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.nice-toast__icon{flex-shrink:0;width:20px;height:20px;margin-top:1px}.nice-toast__content{flex:1}.nice-toast__title{font-weight:var(--nice-font-weight-semibold);margin-bottom:2px;color:var(--text-primary)}.nice-toast__message{color:var(--text-secondary);font-size:var(--nice-font-size-sm)}.nice-toast__close{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px}.nice-toast__progress{position:absolute;bottom:0;left:0;height:3px;border-radius:0 0 var(--nice-radius-md) var(--nice-radius-md);transition:width linear}.nice-toast--info .nice-toast__icon{color:var(--color-info)}.nice-toast--info .nice-toast__progress{background:var(--color-info)}.nice-toast--success .nice-toast__icon{color:var(--color-success)}.nice-toast--success .nice-toast__progress{background:var(--color-success)}.nice-toast--warning .nice-toast__icon{color:var(--color-warning)}.nice-toast--warning .nice-toast__progress{background:var(--color-warning)}.nice-toast--error .nice-toast__icon{color:var(--color-error)}.nice-toast--error .nice-toast__progress{background:var(--color-error)}.nice-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--nice-z-overlay);background:#00000080;animation:nice-fade-in var(--nice-transition)}.nice-drawer{position:fixed;z-index:var(--nice-z-overlay);background:var(--bg-primary);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;font-family:var(--nice-font-family)}.nice-drawer--right{top:0;right:0;bottom:0;animation:nice-slide-right var(--nice-transition)}.nice-drawer--left{top:0;left:0;bottom:0;animation:nice-slide-left var(--nice-transition)}.nice-drawer--sm{width:320px}.nice-drawer--md{width:480px}.nice-drawer--lg{width:640px}@keyframes nice-slide-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes nice-slide-left{0%{transform:translate(-100%)}to{transform:translate(0)}}.nice-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:var(--nice-space-4) var(--nice-space-5);border-bottom:1px solid var(--border-color)}.nice-drawer__title{font-size:var(--nice-font-size-lg);font-weight:var(--nice-font-weight-semibold);color:var(--text-primary);margin:0}.nice-drawer__close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--nice-radius-sm);display:flex}.nice-drawer__close:hover{color:var(--text-primary);background:var(--hover-bg)}.nice-drawer__body{flex:1;overflow-y:auto;padding:var(--nice-space-5)}.nice-drawer__footer{padding:var(--nice-space-4) var(--nice-space-5);border-top:1px solid var(--border-color);display:flex;gap:var(--nice-space-2);justify-content:flex-end}.nice-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--nice-radius-lg);overflow:hidden;font-family:var(--nice-font-family);transition:box-shadow var(--nice-transition)}.nice-card--hoverable:hover{box-shadow:var(--shadow-md)}.nice-card--clickable{cursor:pointer}.nice-card__header{padding:var(--nice-space-4) var(--nice-space-5);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.nice-card__title{font-size:var(--nice-font-size-md);font-weight:var(--nice-font-weight-semibold);color:var(--text-primary);margin:0}.nice-card__body{padding:var(--nice-space-4) var(--nice-space-5)}.nice-card__footer{padding:var(--nice-space-3) var(--nice-space-5);border-top:1px solid var(--border-color);background:var(--bg-secondary)}.nice-empty{display:flex;flex-direction:column;align-items:center;gap:var(--nice-space-3);padding:var(--nice-space-8);text-align:center;font-family:var(--nice-font-family)}.nice-empty__icon{color:var(--text-muted)}.nice-empty__title{font-size:var(--nice-font-size-lg);font-weight:var(--nice-font-weight-semibold);color:var(--text-primary)}.nice-empty__desc{font-size:var(--nice-font-size-md);color:var(--text-secondary);max-width:400px}.nice-color-picker{display:flex;flex-direction:column;gap:var(--nice-space-2);font-family:var(--nice-font-family)}.nice-color-picker__preview-row{display:flex;align-items:center;gap:var(--nice-space-2)}.nice-color-picker__swatch{width:32px;height:32px;border-radius:var(--nice-radius-md);border:2px solid var(--border-color);cursor:pointer;flex-shrink:0}.nice-color-picker__native{position:absolute;opacity:0;width:0;height:0}.nice-color-picker__presets{display:flex;gap:var(--nice-space-1);flex-wrap:wrap}.nice-color-picker__preset{width:24px;height:24px;border-radius:var(--nice-radius-sm);border:2px solid transparent;cursor:pointer;transition:border-color var(--nice-transition-fast)}.nice-color-picker__preset:hover,.nice-color-picker__preset--active{border-color:var(--text-primary)}.nice-datagrid{font-family:var(--nice-font-family);border:1px solid var(--border-color);border-radius:var(--nice-radius-md);overflow:hidden;display:flex;flex-direction:column}.nice-datagrid__toolbar{display:flex;align-items:center;gap:var(--nice-space-2);padding:var(--nice-space-3) var(--nice-space-4);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-wrap:wrap}.nice-datagrid__search{flex:1;min-width:180px}.nice-datagrid__search input{width:100%;padding:4px 8px;border:1px solid var(--border-color);border-radius:var(--nice-radius-sm);background:var(--bg-primary);color:var(--text-primary);font:inherit;font-size:var(--nice-font-size-sm)}.nice-datagrid__search input:focus{outline:none;border-color:var(--color-primary)}.nice-datagrid__table-wrap{overflow-x:auto;flex:1}.nice-datagrid table{width:100%;border-collapse:collapse}.nice-datagrid th{text-align:left;padding:var(--nice-space-2) var(--nice-space-3);background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--nice-font-size-sm);font-weight:var(--nice-font-weight-semibold);border-bottom:1px solid var(--border-color);white-space:nowrap;-webkit-user-select:none;user-select:none;position:sticky;top:0}.nice-datagrid th.nice-datagrid__th--sortable{cursor:pointer}.nice-datagrid th.nice-datagrid__th--sortable:hover{color:var(--text-primary);background:var(--bg-secondary)}.nice-datagrid td{padding:var(--nice-space-2) var(--nice-space-3);color:var(--text-primary);font-size:var(--nice-font-size-md);border-bottom:1px solid var(--border-color)}.nice-datagrid tbody tr:hover{background:var(--hover-bg)}.nice-datagrid tbody tr.nice-datagrid__row--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--bg-primary))}.nice-datagrid__checkbox{width:40px;text-align:center}.nice-datagrid__footer{display:flex;align-items:center;justify-content:space-between;padding:var(--nice-space-2) var(--nice-space-4);background:var(--bg-secondary);border-top:1px solid var(--border-color);font-size:var(--nice-font-size-sm);color:var(--text-secondary);flex-wrap:wrap;gap:var(--nice-space-2)}.nice-datagrid__empty{text-align:center;padding:var(--nice-space-8) var(--nice-space-4);color:var(--text-muted)}.nice-datagrid__resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent}.nice-datagrid__resize-handle:hover{background:var(--color-primary)}@keyframes nice-datagrid-flash{0%{background-color:var(--color-success-light, rgba(34,197,94,.3))}to{background-color:transparent}}.nice-datagrid__row--flash{animation:nice-datagrid-flash .5s ease-out}.nice-datagrid__cell--focused{outline:2px solid var(--color-primary);outline-offset:-2px;z-index:2;position:relative}.nice-datagrid__cell--in-range{background:var(--color-primary-light, rgba(59,130,246,.15))!important}.nice-datagrid__quick-filters{display:flex;gap:6px;flex-wrap:wrap;margin-left:8px}.nice-datagrid__quick-filter{font-family:inherit;transition:all .15s ease}.nice-datagrid__quick-filter:hover{transform:scale(1.05);box-shadow:0 2px 4px #0000001a}.nice-datagrid__quick-filter--active{font-weight:500}.nice-datagrid__row-indicator{width:32px;padding:0 4px;text-align:center}.nice-datagrid__cell-progress{display:flex;align-items:center;gap:8px}.nice-datagrid__cell-rating{letter-spacing:-2px}.nice-datagrid__cell-trend{font-weight:500}.nice-datagrid__column-stats{position:fixed;z-index:10000;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;box-shadow:0 4px 12px #00000026;min-width:180px;font-size:.8125rem}.nice-datagrid__column-stats dt{color:var(--text-muted);font-size:.75rem;margin-top:6px}.nice-datagrid__column-stats dt:first-child{margin-top:0}.nice-datagrid__column-stats dd{margin:0;font-weight:500}.nice-datagrid:focus{outline:none}.nice-datagrid:focus-visible{box-shadow:0 0 0 2px var(--color-primary-light)}.nice-datagrid__row--pinned{background:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.nice-datagrid__detail-row td{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.nice-datagrid__context-menu{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;overflow:hidden;min-width:160px}.nice-datagrid__context-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font:inherit;font-size:.875rem;background:none;border:none;cursor:pointer;text-align:left;color:var(--text-primary);transition:background .1s}.nice-datagrid__context-item:hover{background:var(--hover-bg)}.nice-datagrid__context-item:disabled{opacity:.5;cursor:not-allowed}.nice-datagrid__context-icon{font-size:1rem;width:20px;text-align:center}.nice-datagrid__status-bar{display:flex;gap:16px;padding:8px 12px;font-size:.75rem;color:var(--text-muted);background:var(--bg-secondary);border-top:1px solid var(--border-color)}.nice-datagrid--print{box-shadow:none;border:1px solid #ccc}.nice-datagrid--print .nice-datagrid__toolbar,.nice-datagrid--print .nice-datagrid__footer,.nice-datagrid--print .nice-datagrid__checkbox{display:none}.nice-datagrid__edit-input{width:100%;padding:4px 8px;border:2px solid var(--color-primary);border-radius:4px;font:inherit;font-size:inherit;background:var(--bg-primary);color:var(--text-primary)}.nice-datagrid__edit-input:focus{outline:none}.nice-list{border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;overflow:hidden}.nice-list__search{padding:8px;border-bottom:1px solid var(--nice-border, #e2e8f0)}.nice-list__search input{width:100%;padding:6px 10px;border:1px solid var(--nice-border, #e2e8f0);border-radius:4px;font-size:14px;outline:none;background:var(--nice-bg, #fff);color:var(--nice-text, #1f2937)}.nice-list__items{max-height:300px;overflow-y:auto}.nice-list__group-header{padding:6px 12px;font-weight:600;font-size:12px;text-transform:uppercase;color:var(--nice-text-secondary, #6b7280);background:var(--nice-bg-secondary, #f9fafb)}.nice-list__item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--nice-border-light, #f3f4f6)}.nice-list__item:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-list__item--selected{background:var(--nice-primary-light, #eff6ff);color:var(--nice-primary, #3b82f6)}.nice-list__item--dragging{opacity:.5}.nice-list__empty{padding:20px;text-align:center;color:var(--nice-text-secondary, #6b7280)}.nice-treeview{padding:4px 0}.nice-treeview__search{padding:8px}.nice-treeview__search input{width:100%;padding:6px 10px;border:1px solid var(--nice-border, #e2e8f0);border-radius:4px;font-size:14px}.nice-treeview__node{-webkit-user-select:none;user-select:none}.nice-treeview__node-content{display:flex;align-items:center;gap:4px;padding:4px 8px;cursor:pointer;border-radius:4px;transition:background .15s}.nice-treeview__node-content:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-treeview__node--selected>.nice-treeview__node-content{background:var(--nice-primary-light, #eff6ff)}.nice-treeview__expand{width:20px;display:flex;align-items:center;justify-content:center;cursor:pointer}.nice-treeview__children{padding-left:20px}.nice-treelist{border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;overflow:auto}.nice-treelist table{width:100%;border-collapse:collapse}.nice-treelist th{padding:8px 12px;font-weight:600;text-align:left;border-bottom:2px solid var(--nice-border, #e2e8f0);background:var(--nice-bg-secondary, #f9fafb);white-space:nowrap}.nice-treelist td{padding:6px 12px;border-bottom:1px solid var(--nice-border-light, #f3f4f6)}.nice-treelist__expand{cursor:pointer;display:inline-flex;width:20px}.nice-cardview__search{padding:8px 0}.nice-cardview__search input{width:100%;padding:8px 12px;border:1px solid var(--nice-border, #e2e8f0);border-radius:6px}.nice-cardview__grid{display:grid;gap:16px}.nice-tileview__container{display:flex;overflow:auto;gap:8px}.nice-tileview__container--vertical{flex-direction:column}.nice-tileview__tile{flex-shrink:0;border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;overflow:hidden;cursor:pointer;transition:box-shadow .15s}.nice-tileview__tile:hover{box-shadow:0 2px 8px #0000001a}.nice-tileview__tile--selected{border-color:var(--nice-primary, #3b82f6);box-shadow:0 0 0 2px var(--nice-primary-light, #bfdbfe)}.nice-pivotgrid{border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;overflow:auto}.nice-pivotgrid table{border-collapse:collapse;width:100%}.nice-pivotgrid th,.nice-pivotgrid td{padding:6px 10px;border:1px solid var(--nice-border-light, #f3f4f6);font-size:13px}.nice-pivotgrid th{background:var(--nice-bg-secondary, #f9fafb);font-weight:600}.nice-pivotgrid td{text-align:right}.nice-pivotgrid__fieldchooser{padding:12px}.nice-pivotgrid__fieldchooser-area{margin-bottom:12px}.nice-pivotgrid__fieldchooser-area h4{margin:0 0 6px;font-size:13px;text-transform:uppercase;color:var(--nice-text-secondary, #6b7280)}.nice-pivotgrid__field-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;margin:2px;border-radius:4px;font-size:13px;cursor:pointer;background:var(--nice-bg-secondary, #f9fafb);border:1px solid var(--nice-border, #e2e8f0)}.nice-pivotgrid__field-tag--active{background:var(--nice-primary-light, #eff6ff);border-color:var(--nice-primary, #3b82f6)}.nice-autocomplete{position:relative}.nice-autocomplete__input{width:100%;padding:8px 12px;border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;font-size:14px;outline:none;background:var(--nice-bg, #fff);color:var(--nice-text, #1f2937)}.nice-autocomplete__input:focus{border-color:var(--nice-primary, #3b82f6);box-shadow:0 0 0 3px var(--nice-primary-light, #bfdbfe33)}.nice-autocomplete__dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;box-shadow:0 4px 12px #0000001a;max-height:240px;overflow-y:auto;margin-top:4px}.nice-autocomplete__option{padding:8px 12px;cursor:pointer;transition:background .1s}.nice-autocomplete__option:hover,.nice-autocomplete__option--highlighted{background:var(--nice-bg-hover, #f3f4f6)}.nice-autocomplete__option--selected{background:var(--nice-primary-light, #eff6ff)}.nice-autocomplete__empty{padding:12px;text-align:center;color:var(--nice-text-secondary, #6b7280)}.nice-lookup{position:relative}.nice-lookup__trigger{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;background:var(--nice-bg, #fff);cursor:pointer;font-size:14px;color:var(--nice-text, #1f2937)}.nice-lookup__dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;box-shadow:0 4px 12px #0000001a;margin-top:4px}.nice-lookup__search{padding:8px;border-bottom:1px solid var(--nice-border-light, #f3f4f6)}.nice-lookup__search input{width:100%;padding:6px 10px;border:1px solid var(--nice-border, #e2e8f0);border-radius:4px}.nice-lookup__options{max-height:200px;overflow-y:auto}.nice-calendar{display:inline-block;border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;padding:12px;background:var(--nice-bg, #fff)}.nice-calendar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.nice-calendar__title{font-weight:600;font-size:15px}.nice-calendar__nav{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;color:var(--nice-text, #1f2937)}.nice-calendar__nav:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.nice-calendar__weekday{font-size:12px;font-weight:600;color:var(--nice-text-secondary, #6b7280);padding:4px}.nice-calendar__day{padding:6px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .1s}.nice-calendar__day:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-calendar__day--other{color:var(--nice-text-tertiary, #d1d5db)}.nice-calendar__day--today{font-weight:700;color:var(--nice-primary, #3b82f6)}.nice-calendar__day--selected{background:var(--nice-primary, #3b82f6);color:#fff}.nice-calendar__day--disabled{opacity:.35;pointer-events:none}.nice-calendar__weeknum{font-size:11px;color:var(--nice-text-tertiary, #9ca3af)}.nice-daterangebox{display:inline-flex;align-items:center;gap:8px}.nice-daterangebox__input{padding:8px 12px;border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;font-size:14px;width:140px}.nice-daterangebox__sep{color:var(--nice-text-secondary, #6b7280)}.nice-tagbox{position:relative}.nice-tagbox__container{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px;border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;min-height:38px;cursor:text;background:var(--nice-bg, #fff)}.nice-tagbox__container:focus-within{border-color:var(--nice-primary, #3b82f6);box-shadow:0 0 0 3px var(--nice-primary-light, #bfdbfe33)}.nice-tagbox__tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:13px;background:var(--nice-primary-light, #eff6ff);color:var(--nice-primary, #3b82f6)}.nice-tagbox__tag-remove{cursor:pointer;font-size:14px;line-height:1;opacity:.7}.nice-tagbox__tag-remove:hover{opacity:1}.nice-tagbox__input{flex:1;min-width:60px;border:none;outline:none;font-size:14px;background:transparent;color:var(--nice-text, #1f2937)}.nice-tagbox__dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto;margin-top:4px}.nice-tagbox__option{padding:8px 12px;cursor:pointer}.nice-tagbox__option:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-rangeslider{padding:10px 0}.nice-rangeslider__track{position:relative;height:6px;background:var(--nice-bg-tertiary, #e5e7eb);border-radius:3px;cursor:pointer}.nice-rangeslider__fill{position:absolute;height:100%;background:var(--nice-primary, #3b82f6);border-radius:3px}.nice-rangeslider__thumb{position:absolute;top:50%;width:18px;height:18px;background:var(--nice-bg, #fff);border:2px solid var(--nice-primary, #3b82f6);border-radius:50%;transform:translate(-50%,-50%);cursor:grab;box-shadow:0 1px 3px #00000026;z-index:1}.nice-rangeslider__thumb:active{cursor:grabbing}.nice-rangeslider__labels{display:flex;justify-content:space-between;margin-top:6px;font-size:13px;color:var(--nice-text-secondary, #6b7280)}.nice-dropdownbox{position:relative;display:inline-block}.nice-dropdownbox__trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;background:var(--nice-bg, #fff);cursor:pointer;font-size:14px;min-width:160px;color:var(--nice-text, #1f2937)}.nice-dropdownbox__popup{position:absolute;top:100%;left:0;z-index:50;background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;box-shadow:0 8px 24px #0000001f;margin-top:4px;min-width:100%}.nice-form__item{margin-bottom:16px}.nice-form__label{display:block;margin-bottom:4px;font-weight:500;font-size:14px;color:var(--nice-text, #1f2937)}.nice-form__label--required:after{content:" *";color:var(--nice-danger, #ef4444)}.nice-form--left .nice-form__item{display:flex;align-items:flex-start;gap:12px}.nice-form--left .nice-form__label{min-width:120px;padding-top:8px;text-align:right}.nice-form__hint{margin-top:4px;font-size:12px;color:var(--nice-text-secondary, #6b7280)}.nice-htmleditor{border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;overflow:hidden}.nice-htmleditor__toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:6px;border-bottom:1px solid var(--nice-border-light, #f3f4f6);background:var(--nice-bg-secondary, #f9fafb)}.nice-htmleditor__toolbar button{padding:4px 8px;border:1px solid transparent;border-radius:4px;background:none;cursor:pointer;font-size:14px;color:var(--nice-text, #1f2937)}.nice-htmleditor__toolbar button:hover{background:var(--nice-bg-hover, #e5e7eb)}.nice-htmleditor__toolbar button.active{background:var(--nice-primary-light, #eff6ff);border-color:var(--nice-primary, #3b82f6)}.nice-htmleditor__sep{width:1px;margin:2px 4px;background:var(--nice-border, #e2e8f0)}.nice-htmleditor__content{min-height:150px;padding:12px;outline:none;font-size:14px;line-height:1.6;color:var(--nice-text, #1f2937)}.nice-menu{display:flex;list-style:none;margin:0;padding:0}.nice-menu--vertical{flex-direction:column}.nice-menu__item{position:relative}.nice-menu__btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:none;cursor:pointer;font-size:14px;white-space:nowrap;width:100%;text-align:left;color:var(--nice-text, #1f2937)}.nice-menu__btn:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-menu__btn--disabled{opacity:.45;pointer-events:none}.nice-menu__submenu{position:absolute;top:100%;left:0;z-index:50;min-width:160px;background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;box-shadow:0 4px 12px #0000001a;display:none;flex-direction:column;padding:4px 0;list-style:none}.nice-menu--vertical .nice-menu__submenu{top:0;left:100%}.nice-menu__item:hover>.nice-menu__submenu{display:flex}.nice-menu__divider{height:1px;margin:4px 0;background:var(--nice-border-light, #f3f4f6)}.nice-contextmenu{position:fixed;z-index:100;min-width:160px;background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;box-shadow:0 8px 24px #00000026;padding:4px 0}.nice-contextmenu__item{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;font-size:14px;color:var(--nice-text, #1f2937)}.nice-contextmenu__item:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-contextmenu__item--disabled{opacity:.45;pointer-events:none}.nice-contextmenu__item--danger{color:var(--nice-danger, #ef4444)}.nice-contextmenu__divider{height:1px;margin:4px 0;background:var(--nice-border-light, #f3f4f6)}.nice-multiview{overflow:hidden}.nice-tabpanel{display:flex}.nice-tabpanel--top,.nice-tabpanel--bottom{flex-direction:column}.nice-tabpanel--left{flex-direction:row}.nice-tabpanel--right{flex-direction:row-reverse}.nice-tabpanel__tabs{display:flex;gap:0;border-bottom:2px solid var(--nice-border-light, #f3f4f6)}.nice-tabpanel--left .nice-tabpanel__tabs,.nice-tabpanel--right .nice-tabpanel__tabs{flex-direction:column;border-bottom:none;border-right:2px solid var(--nice-border-light, #f3f4f6)}.nice-tabpanel--right .nice-tabpanel__tabs{border-right:none;border-left:2px solid var(--nice-border-light, #f3f4f6)}.nice-tabpanel--bottom .nice-tabpanel__tabs{border-bottom:none;border-top:2px solid var(--nice-border-light, #f3f4f6);order:1}.nice-tabpanel__tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:none;cursor:pointer;font-size:14px;white-space:nowrap;position:relative;color:var(--nice-text-secondary, #6b7280);transition:color .15s}.nice-tabpanel__tab:hover{color:var(--nice-text, #1f2937)}.nice-tabpanel__tab--active{color:var(--nice-primary, #3b82f6)}.nice-tabpanel__tab--active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--nice-primary, #3b82f6)}.nice-tabpanel__badge{padding:1px 6px;border-radius:10px;font-size:11px;background:var(--nice-danger, #ef4444);color:#fff}.nice-tabpanel__content{padding:16px;flex:1}.nice-splitter{display:flex;overflow:hidden}.nice-splitter--vertical{flex-direction:column}.nice-splitter__pane{overflow:auto}.nice-splitter__gutter{flex-shrink:0;background:var(--nice-bg-secondary, #f1f5f9);display:flex;align-items:center;justify-content:center}.nice-splitter--horizontal>.nice-splitter__gutter{width:6px;cursor:col-resize}.nice-splitter--vertical>.nice-splitter__gutter{height:6px;cursor:row-resize}.nice-splitter__gutter:hover{background:var(--nice-primary-light, #dbeafe)}.nice-splitter__gutter:active{background:var(--nice-primary, #3b82f6)}.nice-toolbar{display:flex;align-items:center;padding:6px 8px;gap:4px;background:var(--nice-bg-secondary, #f9fafb);border-bottom:1px solid var(--nice-border, #e2e8f0)}.nice-toolbar__before{display:flex;align-items:center;gap:4px}.nice-toolbar__center{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}.nice-toolbar__after{display:flex;align-items:center;gap:4px;margin-left:auto}.nice-toolbar__separator{width:1px;height:24px;background:var(--nice-border, #e2e8f0);margin:0 4px}.nice-dropdownbtn{position:relative;display:inline-flex}.nice-dropdownbtn__main{border-radius:6px 0 0 6px}.nice-dropdownbtn__toggle{border-radius:0 6px 6px 0;padding:8px 6px;border-left:1px solid rgba(255,255,255,.3)}.nice-dropdownbtn__menu{position:absolute;top:100%;left:0;z-index:50;background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;box-shadow:0 4px 12px #0000001a;min-width:160px;margin-top:4px;padding:4px 0}.nice-dropdownbtn__item{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;font-size:14px;width:100%;border:none;background:none;text-align:left;color:var(--nice-text, #1f2937)}.nice-dropdownbtn__item:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-speeddial{position:fixed;z-index:60}.nice-speeddial--br{bottom:24px;right:24px}.nice-speeddial--bl{bottom:24px;left:24px}.nice-speeddial--tr{top:24px;right:24px}.nice-speeddial--tl{top:24px;left:24px}.nice-speeddial__fab{width:56px;height:56px;border-radius:50%;border:none;background:var(--nice-primary, #3b82f6);color:#fff;font-size:24px;cursor:pointer;box-shadow:0 4px 12px #3b82f666;transition:transform .2s;display:flex;align-items:center;justify-content:center}.nice-speeddial__fab:hover{transform:scale(1.08)}.nice-speeddial__actions{display:flex;flex-direction:column;gap:8px;position:absolute;bottom:64px;right:0}.nice-speeddial__action{display:flex;align-items:center;gap:8px;white-space:nowrap}.nice-speeddial__action-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--nice-bg, #fff);box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center}.nice-speeddial__action-label{font-size:13px;padding:4px 8px;border-radius:4px;background:#000000b3;color:#fff}.nice-chart__title{font-size:16px;font-weight:600;fill:var(--nice-text, #1f2937)}.nice-chart__axis-label{font-size:11px;fill:var(--nice-text-secondary, #6b7280)}.nice-chart__legend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:8px 0}.nice-chart__legend-item{display:flex;align-items:center;gap:4px;font-size:13px;cursor:pointer}.nice-chart__legend-color{width:12px;height:12px;border-radius:2px}.nice-chart__legend-text{font-size:12px;fill:var(--nice-text, #1f2937)}.nice-gauge__value-text{font-size:20px;font-weight:700;fill:var(--nice-text, #1f2937)}.nice-gauge__label{font-size:12px;fill:var(--nice-text-secondary, #6b7280)}.nice-gauge__tick-label{font-size:10px;fill:var(--nice-text-secondary, #6b7280)}.nice-sparkline,.nice-bullet{display:inline-block;vertical-align:middle}.nice-funnel__label{font-size:13px;font-weight:600;fill:var(--nice-text, #1f2937)}.nice-funnel__value{font-size:11px;fill:var(--nice-text-secondary, #6b7280)}.nice-rangeselector{display:inline-block}.nice-vectormap__title{font-size:16px;font-weight:600;text-align:center;margin-bottom:8px;color:var(--nice-text, #1f2937)}.nice-actionsheet__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:90}.nice-actionsheet{position:fixed;bottom:0;left:0;right:0;z-index:91;background:var(--nice-bg, #fff);border-radius:16px 16px 0 0;padding:8px 16px 16px;max-height:70vh;overflow-y:auto;animation:nice-slideUp .2s ease-out}@keyframes nice-slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.nice-actionsheet__title{text-align:center;font-weight:600;font-size:16px;padding:12px 0;color:var(--nice-text, #1f2937)}.nice-actionsheet__items{display:flex;flex-direction:column;gap:2px}.nice-actionsheet__item{display:flex;align-items:center;gap:10px;padding:14px 16px;border:none;background:none;cursor:pointer;font-size:16px;text-align:left;border-radius:8px;width:100%;color:var(--nice-text, #1f2937)}.nice-actionsheet__item:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-actionsheet__item--danger{color:var(--nice-danger, #ef4444)}.nice-actionsheet__item:disabled{opacity:.45;pointer-events:none}.nice-actionsheet__cancel{display:block;width:100%;margin-top:8px;padding:14px;border:none;border-radius:8px;background:var(--nice-bg-secondary, #f3f4f6);font-size:16px;font-weight:600;cursor:pointer;color:var(--nice-primary, #3b82f6)}.nice-popover{z-index:60;background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;box-shadow:0 8px 24px #0000001f;min-width:160px}.nice-popover__title{padding:10px 14px;font-weight:600;border-bottom:1px solid var(--nice-border-light, #f3f4f6);color:var(--nice-text, #1f2937)}.nice-popover__content{padding:12px 14px}.nice-popover__arrow--bottom{top:-7px;left:calc(50% - 6px);border-right:none;border-bottom:none}.nice-popover__arrow--top{bottom:-7px;left:calc(50% - 6px);border-left:none;border-top:none}.nice-popover__arrow--right{left:-7px;top:calc(50% - 6px);border-top:none;border-right:none}.nice-popover__arrow--left{right:-7px;top:calc(50% - 6px);border-bottom:none;border-left:none}.nice-loadpanel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:80}.nice-loadpanel__shade{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffbf}.nice-loadpanel__box{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 32px;background:var(--nice-bg, #fff);border-radius:12px;box-shadow:0 4px 16px #0000001a}.nice-loadpanel__text{font-size:14px;color:var(--nice-text-secondary, #6b7280)}.nice-resizable{border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;background:var(--nice-bg, #fff)}.nice-scrollview{-webkit-overflow-scrolling:touch}.nice-scrollview--hide-sb::-webkit-scrollbar{display:none}.nice-scrollview--hide-sb{scrollbar-width:none}.nice-scrollview--show-sb::-webkit-scrollbar{width:8px;height:8px}.nice-scrollview--show-sb::-webkit-scrollbar-thumb{background:var(--nice-border, #cbd5e1);border-radius:4px}.nice-scrollview--show-sb::-webkit-scrollbar-track{background:transparent}.nice-scheduler{border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;overflow:hidden;background:var(--nice-bg, #fff);display:flex;flex-direction:column}.nice-scheduler__toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--nice-border, #e2e8f0);gap:8px;flex-wrap:wrap}.nice-scheduler__nav{display:flex;align-items:center;gap:6px}.nice-scheduler__title{font-weight:600;font-size:15px;margin-left:8px}.nice-scheduler__views{display:flex;gap:4px}.nice-scheduler__month-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.nice-scheduler__month-dayname{padding:8px;font-weight:600;font-size:12px;color:var(--nice-text-secondary, #6b7280);border-bottom:1px solid var(--nice-border-light, #f3f4f6)}.nice-scheduler__month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.nice-scheduler__month-cell{min-height:80px;padding:4px;border:1px solid var(--nice-border-light, #f3f4f6);cursor:pointer}.nice-scheduler__month-cell:hover{background:var(--nice-bg-hover, #fafafa)}.nice-scheduler__month-cell--other{background:var(--nice-bg-secondary, #f9fafb)}.nice-scheduler__month-cell--today{background:var(--nice-primary-light, #eff6ff)}.nice-scheduler__month-date{font-size:13px;font-weight:500;margin-bottom:4px;color:var(--nice-text, #1f2937)}.nice-scheduler__month-event{padding:2px 6px;margin-bottom:2px;border-radius:3px;font-size:11px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.nice-scheduler__month-more{font-size:11px;color:var(--nice-text-secondary, #6b7280)}.nice-scheduler__timegrid{overflow:auto}.nice-scheduler__timegrid-header{display:flex;border-bottom:2px solid var(--nice-border, #e2e8f0);position:sticky;top:0;z-index:4;background:var(--nice-bg, #fff)}.nice-scheduler__timegrid-day-header{flex:1;text-align:center;padding:8px;font-weight:500;font-size:13px}.nice-scheduler__timegrid-day-header--today{color:var(--nice-primary, #3b82f6);font-weight:700}.nice-scheduler__timegrid-day-header--weekend{color:var(--nice-text-secondary, #9ca3af);opacity:.7}.nice-scheduler__timegrid-day-name{font-size:12px;line-height:1.2}.nice-scheduler__timegrid-day-num{font-size:18px;font-weight:600;line-height:1.2}.nice-scheduler__timegrid-row{display:flex;min-height:48px}.nice-scheduler__time-gutter{width:60px;min-width:60px;padding:4px 8px;font-size:11px;color:var(--nice-text-secondary, #6b7280);text-align:right;border-right:1px solid var(--nice-border-light, #f3f4f6)}.nice-scheduler__timegrid-cell{flex:1;border-bottom:1px solid var(--nice-border-light, #f3f4f6);border-right:1px solid var(--nice-border-light, #f3f4f6);padding:2px;cursor:pointer;position:relative}.nice-scheduler__timegrid-cell:hover{background:var(--nice-bg-hover, #fafafa)}.nice-scheduler__timegrid-event{padding:2px 6px;border-radius:3px;font-size:11px;color:#fff;margin-bottom:1px;cursor:pointer}.nice-scheduler__agenda{padding:12px}.nice-scheduler__agenda-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--nice-border-light, #f3f4f6);cursor:pointer}.nice-scheduler__agenda-item:hover{background:var(--nice-bg-hover, #fafafa)}.nice-scheduler__agenda-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.nice-scheduler__agenda-title{font-weight:500;font-size:14px}.nice-scheduler__agenda-time{font-size:12px;color:var(--nice-text-secondary, #6b7280)}.nice-scheduler__agenda-empty{text-align:center;padding:40px;color:var(--nice-text-secondary, #6b7280)}.nice-scheduler__agenda-info{flex:1;min-width:0}.nice-scheduler__agenda-desc{font-size:12px;color:var(--nice-text-secondary, #6b7280);margin-top:2px}.nice-scheduler__agenda-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;color:#fff;flex-shrink:0}.nice-scheduler__body{display:flex;flex:1;min-height:0;overflow:hidden}.nice-scheduler__content{flex:1;overflow:auto;min-height:0}.nice-scheduler__sidebar{width:220px;flex-shrink:0;padding:8px;border-right:1px solid var(--nice-border, #e2e8f0);overflow-y:auto}.nice-scheduler__sidebar--right{border-right:none;border-left:1px solid var(--nice-border, #e2e8f0)}.nice-scheduler__event{padding:2px 6px;margin-bottom:2px;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none}.nice-scheduler__event:hover{filter:brightness(1.1)}.nice-scheduler--disabled{pointer-events:none;opacity:.6}.nice-scheduler__range-picker{display:inline-flex;align-items:center;margin-left:8px}.nice-scheduler__range-picker .nice-textinput--sm{width:130px;padding:3px 6px;font-size:13px}.nice-scheduler__timegrid--range{overflow-x:auto}.nice-scheduler__timegrid--range .nice-scheduler__timegrid-header,.nice-scheduler__timegrid--range .nice-scheduler__timegrid-body{min-width:max-content}.nice-scheduler__timegrid--range .nice-scheduler__timegrid-day-header,.nice-scheduler__timegrid--range .nice-scheduler__timegrid-cell{min-width:120px}.nice-scheduler__month--range{overflow-x:auto}.nice-scheduler__month--range .nice-scheduler__month-header,.nice-scheduler__month--range .nice-scheduler__month-grid{min-width:max-content}.nice-scheduler__month--range .nice-scheduler__month-dayname,.nice-scheduler__month--range .nice-scheduler__month-cell{min-width:120px}.nice-scheduler__month-cell--weekend{background:var(--nice-bg-tertiary, #f8f9fb)}.nice-scheduler__month-monthname{font-size:11px;font-weight:600;color:var(--nice-primary, #3b82f6);margin-right:2px}.nice-scheduler__now-line{position:absolute;left:60px;right:0;height:2px;background:var(--nice-error, #ef4444);z-index:5;pointer-events:none}.nice-scheduler__now-dot{position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--nice-error, #ef4444)}.nice-scheduler__timegrid-row--work{background:var(--nice-primary-light, #eff6ff)}.nice-scheduler__legend{padding:8px 0}.nice-scheduler__legend-title{font-weight:600;font-size:13px;margin-bottom:6px;color:var(--nice-text, #1f2937)}.nice-scheduler__legend-item{display:flex;align-items:center;gap:6px;width:100%;border:none;background:none;padding:4px 6px;border-radius:4px;cursor:pointer;font:inherit;text-align:left;color:var(--nice-text, #1f2937)}.nice-scheduler__legend-item:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-scheduler__legend-item--hidden{opacity:.45}.nice-scheduler__legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.nice-scheduler__legend-label{flex:1;font-size:13px}.nice-scheduler__legend-count{font-size:11px;color:var(--nice-text-secondary, #6b7280)}.nice-scheduler__mini-cal{margin-bottom:12px}.nice-scheduler__mini-cal-header{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-weight:600;font-size:13px}.nice-scheduler__mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;text-align:center}.nice-scheduler__mini-cal-dayname{font-size:11px;font-weight:600;color:var(--nice-text-secondary, #6b7280);padding:4px 0}.nice-scheduler__mini-cal-day{border:none;background:none;font:inherit;padding:4px;border-radius:50%;cursor:pointer;font-size:12px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;margin:0 auto}.nice-scheduler__mini-cal-day:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-scheduler__mini-cal-day--today{font-weight:700;color:var(--nice-primary, #3b82f6)}.nice-scheduler__mini-cal-day--selected{background:var(--nice-primary, #3b82f6);color:#fff}.nice-scheduler__mini-cal-day--selected:hover{background:var(--nice-primary-dark, #2563eb)}.nice-scheduler__mini-cal-day--other{color:var(--nice-text-secondary, #9ca3af)}.nice-scheduler__tooltip{background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;padding:10px 14px;box-shadow:0 8px 24px #0000001f;min-width:180px;max-width:280px}.nice-scheduler__tooltip-title{font-weight:600;font-size:14px;margin-bottom:4px}.nice-scheduler__tooltip-time{font-size:12px;color:var(--nice-text-secondary, #6b7280);margin-bottom:4px}.nice-scheduler__tooltip-cat{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:4px}.nice-scheduler__tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.nice-scheduler__tooltip-desc{font-size:12px;color:var(--nice-text-secondary, #6b7280);margin-top:4px}.nice-scheduler__form-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:10000}.nice-scheduler__form{background:var(--nice-bg, #fff);border-radius:12px;box-shadow:0 16px 48px #0000002e;width:380px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.nice-scheduler__form-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--nice-border, #e2e8f0)}.nice-scheduler__form-header h3{margin:0;font-size:16px}.nice-scheduler__form-body{padding:14px 18px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.nice-scheduler__form-body .nice-form__label{font-size:13px;font-weight:500;margin:0}.nice-scheduler__form-footer{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--nice-border, #e2e8f0)}.nice-gantt{border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;overflow:hidden;background:var(--nice-bg, #fff)}.nice-gantt__container{display:flex;overflow:hidden}.nice-gantt__table{border-right:2px solid var(--nice-border, #e2e8f0);overflow-y:auto;flex-shrink:0}.nice-gantt__table-header{display:flex;border-bottom:2px solid var(--nice-border, #e2e8f0);background:var(--nice-bg-secondary, #f9fafb)}.nice-gantt__table-header-cell{padding:8px 12px;font-weight:600;font-size:13px}.nice-gantt__table-row{display:flex;align-items:center;border-bottom:1px solid var(--nice-border-light, #f3f4f6)}.nice-gantt__table-cell{padding:4px 12px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nice-gantt__chart{overflow-x:auto;flex:1}.nice-gantt__chart-header{position:sticky;top:0;z-index:2;background:var(--nice-bg-secondary, #f9fafb)}.nice-gantt__header-row{display:flex}.nice-gantt__header-cell{text-align:center;padding:4px;font-size:11px;border-right:1px solid var(--nice-border-light, #f3f4f6);border-bottom:1px solid var(--nice-border, #e2e8f0)}.nice-gantt__header-cell--sub{font-size:10px}.nice-gantt__header-cell--weekend{background:var(--nice-bg-tertiary, #f1f5f9)}.nice-gantt__chart-body{position:relative}.nice-gantt__gridline{border-right:1px solid var(--nice-border-light, #f3f4f6)}.nice-gantt__gridline--weekend{background:#f1f5f980}.nice-gantt__bar{position:absolute;border-radius:4px;cursor:pointer;overflow:hidden;display:flex;align-items:center}.nice-gantt__bar:hover{filter:brightness(1.1)}.nice-gantt__bar-progress{position:absolute;top:0;left:0;height:100%;background:#00000026}.nice-gantt__bar-label{position:relative;z-index:1;padding:0 6px;font-size:11px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nice-diagram{border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;background:var(--nice-bg, #fff)}.nice-diagram__node-text{font-size:13px}.nice-diagram__edge-label{font-size:11px;fill:var(--nice-text-secondary, #6b7280)}.nice-stepper__header{display:flex;align-items:flex-start}.nice-stepper--vertical .nice-stepper__header{flex-direction:column}.nice-stepper__step{display:flex;align-items:center;gap:8px}.nice-stepper--vertical .nice-stepper__step{align-items:flex-start;padding:8px 0}.nice-stepper__indicator{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;background:var(--nice-bg-tertiary, #e5e7eb);color:var(--nice-text-secondary, #6b7280);flex-shrink:0;transition:all .2s}.nice-stepper__step--active .nice-stepper__indicator{background:var(--nice-primary, #3b82f6);color:#fff}.nice-stepper__step--completed .nice-stepper__indicator{background:var(--nice-success, #22c55e);color:#fff}.nice-stepper__title{font-weight:500;font-size:14px;color:var(--nice-text, #1f2937)}.nice-stepper__subtitle{font-size:12px;color:var(--nice-text-secondary, #6b7280)}.nice-stepper__optional{font-size:11px;color:var(--nice-text-tertiary, #9ca3af);font-style:italic}.nice-stepper__connector{flex:1;height:2px;min-width:24px;background:var(--nice-border, #e2e8f0);align-self:center;margin:0 8px}.nice-stepper--vertical .nice-stepper__connector{width:2px;height:24px;min-width:unset;margin:0 0 0 15px}.nice-stepper__connector--completed{background:var(--nice-success, #22c55e)}.nice-stepper__content{padding:16px 0}.nice-chat{display:flex;flex-direction:column;border:1px solid var(--nice-border, #e2e8f0);border-radius:12px;overflow:hidden;background:var(--nice-bg, #fff)}.nice-chat__header{padding:12px 16px;font-weight:600;border-bottom:1px solid var(--nice-border, #e2e8f0)}.nice-chat__messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:200px}.nice-chat__message{display:flex;gap:8px;max-width:80%}.nice-chat__message--own{margin-left:auto;flex-direction:row-reverse}.nice-chat__avatar{width:32px;height:32px;border-radius:50%;background:var(--nice-primary-light, #dbeafe);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:var(--nice-primary, #3b82f6);flex-shrink:0;overflow:hidden}.nice-chat__avatar img{width:100%;height:100%;object-fit:cover}.nice-chat__bubble{padding:8px 12px;border-radius:12px;background:var(--nice-bg-secondary, #f3f4f6);font-size:14px;line-height:1.5}.nice-chat__message--own .nice-chat__bubble{background:var(--nice-primary, #3b82f6);color:#fff}.nice-chat__author{font-size:12px;font-weight:600;margin-bottom:2px;color:var(--nice-text-secondary, #6b7280)}.nice-chat__time{font-size:11px;margin-top:4px;opacity:.7;display:flex;align-items:center;gap:4px}.nice-chat__status{display:inline-block;width:6px;height:6px;border-radius:50%}.nice-chat__status--sending{background:var(--nice-text-tertiary, #9ca3af)}.nice-chat__status--sent{background:var(--nice-text-secondary, #6b7280)}.nice-chat__status--delivered{background:var(--nice-primary, #3b82f6)}.nice-chat__status--read{background:var(--nice-success, #22c55e)}.nice-chat__status--error{background:var(--nice-danger, #ef4444)}.nice-chat__input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--nice-border, #e2e8f0)}.nice-chat__textarea{flex:1;resize:none;border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;padding:8px 12px;font-size:14px;outline:none;font-family:inherit;background:var(--nice-bg, #fff);color:var(--nice-text, #1f2937)}.nice-chat__textarea:focus{border-color:var(--nice-primary, #3b82f6)}.nice-draggable{cursor:grab}.nice-draggable:active{cursor:grabbing}.nice-draggable--disabled{cursor:default;opacity:.6}.nice-sortable{display:flex;flex-direction:column;gap:4px}.nice-sortable--horizontal{flex-direction:row}.nice-sortable__item{transition:transform .15s}.nice-sortable__item--dragging{opacity:.4}.nice-sortable__item--over{border-top:2px solid var(--nice-primary, #3b82f6)}.nice-fileuploader--disabled{opacity:.6;pointer-events:none}.nice-fileuploader__dropzone{border:2px dashed var(--nice-border, #d1d5db);border-radius:8px;padding:32px;text-align:center;cursor:pointer;transition:all .2s;background:var(--nice-bg, #fff)}.nice-fileuploader__dropzone:hover,.nice-fileuploader__dropzone--active{border-color:var(--nice-primary, #3b82f6);background:var(--nice-primary-light, #eff6ff)}.nice-fileuploader__label{color:var(--nice-text-secondary, #6b7280);font-size:14px}.nice-fileuploader__list{margin-top:12px}.nice-fileuploader__file{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--nice-border-light, #f3f4f6);border-radius:6px;margin-bottom:4px}.nice-fileuploader__filename{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nice-fileuploader__filesize{font-size:12px;color:var(--nice-text-secondary, #6b7280)}.nice-fileuploader__remove{background:none;border:none;cursor:pointer;font-size:18px;color:var(--nice-text-secondary, #6b7280);padding:0 4px}.nice-fileuploader__remove:hover{color:var(--nice-danger, #ef4444)}.nice-fileuploader__actions{display:flex;gap:8px;margin-top:12px}.nice-filemanager{border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;overflow:hidden;background:var(--nice-bg, #fff)}.nice-filemanager__toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg-secondary, #f9fafb);gap:8px;flex-wrap:wrap}.nice-filemanager__breadcrumb{display:flex;align-items:center;gap:2px}.nice-filemanager__separator{color:var(--nice-text-tertiary, #9ca3af);margin:0 2px}.nice-filemanager__actions{display:flex;gap:4px}.nice-filemanager__list-header{display:flex;padding:8px 12px;font-weight:600;font-size:12px;text-transform:uppercase;color:var(--nice-text-secondary, #6b7280);border-bottom:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg-secondary, #f9fafb)}.nice-filemanager__list-item{display:flex;padding:8px 12px;border-bottom:1px solid var(--nice-border-light, #f3f4f6);cursor:pointer;align-items:center}.nice-filemanager__list-item:hover{background:var(--nice-bg-hover, #f9fafb)}.nice-filemanager__list-item--selected{background:var(--nice-primary-light, #eff6ff)}.nice-filemanager__col{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nice-filemanager__col--name{flex:1;display:flex;align-items:center;gap:8px}.nice-filemanager__col--size{width:80px;font-size:13px;color:var(--nice-text-secondary, #6b7280)}.nice-filemanager__col--date{width:100px;font-size:13px;color:var(--nice-text-secondary, #6b7280)}.nice-filemanager__icon{font-size:18px}.nice-filemanager__rename-input{padding:2px 6px;border:1px solid var(--nice-primary, #3b82f6);border-radius:3px;font-size:14px;outline:none}.nice-filemanager__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;padding:12px}.nice-filemanager__grid-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border-radius:8px;cursor:pointer;text-align:center}.nice-filemanager__grid-item:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-filemanager__grid-item--selected{background:var(--nice-primary-light, #eff6ff)}.nice-filemanager__grid-icon{font-size:36px}.nice-filemanager__grid-name{font-size:12px;word-break:break-all}.nice-filterbuilder__group{border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;padding:8px;margin:4px 0;background:var(--nice-bg, #fff)}.nice-filterbuilder__group--depth-1{background:var(--nice-bg-secondary, #f9fafb)}.nice-filterbuilder__group--depth-2{background:var(--nice-bg-tertiary, #f1f5f9)}.nice-filterbuilder__group-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.nice-filterbuilder__logic{padding:4px 10px;border-radius:4px;border:1px solid var(--nice-primary, #3b82f6);background:var(--nice-primary-light, #eff6ff);color:var(--nice-primary, #3b82f6);cursor:pointer;font-weight:600;font-size:12px}.nice-filterbuilder__condition{display:flex;align-items:center;gap:6px;margin:4px 0;flex-wrap:wrap}.nice-filterbuilder__select,.nice-filterbuilder__input{padding:6px 10px;border:1px solid var(--nice-border, #e2e8f0);border-radius:4px;font-size:13px;background:var(--nice-bg, #fff);color:var(--nice-text, #1f2937)}.nice-filterbuilder__remove{background:none;border:none;cursor:pointer;font-size:18px;color:var(--nice-text-secondary, #6b7280);padding:2px 6px}.nice-filterbuilder__remove:hover{color:var(--nice-danger, #ef4444)}.nice-gallery{display:flex;flex-direction:column;border-radius:8px;overflow:hidden;background:#000;position:relative}.nice-gallery__viewport{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.nice-gallery__image{max-width:100%;max-height:100%;object-fit:contain}.nice-gallery__caption{position:absolute;bottom:0;left:0;right:0;padding:8px 16px;background:#0009;color:#fff;font-size:14px}.nice-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:none;background:#00000080;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}.nice-gallery__nav:hover{background:#000000b3}.nice-gallery__nav--prev{left:12px}.nice-gallery__nav--next{right:12px}.nice-gallery__dots{display:flex;justify-content:center;gap:6px;padding:8px;background:#0000004d}.nice-gallery__dot{width:8px;height:8px;border-radius:50%;border:none;background:#ffffff80;cursor:pointer;padding:0}.nice-gallery__dot--active{background:#fff}.nice-gallery__thumbnails{display:flex;gap:4px;padding:8px;overflow-x:auto;background:#000c}.nice-gallery__thumb{width:60px;height:45px;object-fit:cover;border-radius:4px;cursor:pointer;opacity:.6;transition:opacity .2s;border:2px solid transparent}.nice-gallery__thumb:hover{opacity:.9}.nice-gallery__thumb--active{opacity:1;border-color:#fff}.nice-map{border-radius:8px;border:1px solid var(--nice-border, #e2e8f0)}.nice-map__marker{cursor:pointer;z-index:5}.nice-map__marker-label{position:absolute;left:28px;top:0;font-size:12px;white-space:nowrap;background:#000000b3;color:#fff;padding:2px 6px;border-radius:3px}.nice-map__controls{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:4px;z-index:10}.nice-map__zoom-btn{width:32px;height:32px;border:1px solid var(--nice-border, #d1d5db);border-radius:4px;background:var(--nice-bg, #fff);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}.nice-map__zoom-btn:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-map__attribution{position:absolute;bottom:2px;right:4px;font-size:10px;color:var(--nice-text-tertiary, #9ca3af);z-index:10}.nice-speechtotext{display:inline-flex;align-items:center;gap:8px}.nice-speechtotext__error{font-size:12px;color:var(--nice-danger, #ef4444)}.nice-validator__errors{margin-top:4px}.nice-validator__error{font-size:12px;color:var(--nice-danger, #ef4444);margin-bottom:2px}.nice-validationsummary{border:1px solid var(--nice-danger, #ef4444);border-radius:8px;padding:12px 16px;background:#fef2f2;margin:12px 0}.nice-validationsummary__title{font-weight:600;font-size:15px;color:var(--nice-danger, #ef4444);margin-bottom:8px}.nice-validationsummary__list{margin:0;padding-left:20px}.nice-validationsummary__item{font-size:13px;color:var(--nice-danger-dark, #b91c1c);margin-bottom:4px}.nice-theme-designer{border:1px solid var(--border-color, #e2e8f0);border-radius:var(--nice-radius-lg, 12px);overflow:hidden;background:var(--bg-primary, #fff)}.nice-theme-designer__toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0);gap:8px;flex-wrap:wrap}.nice-theme-designer__toolbar-left{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.nice-theme-designer__toolbar-right{display:flex;gap:6px}.nice-theme-designer__body{display:flex;min-height:420px}.nice-theme-designer__sections{display:flex;flex-direction:column;border-right:1px solid var(--border-color, #e2e8f0);min-width:130px;padding:6px 0;background:var(--bg-secondary, #f8fafc)}.nice-theme-designer__section-btn{padding:6px 14px;border:none;background:transparent;cursor:pointer;text-align:left;font-size:13px;color:var(--text-primary, #1e293b);border-left:3px solid transparent}.nice-theme-designer__section-btn:hover{background:var(--bg-primary, #fff)}.nice-theme-designer__section-btn--active{border-left-color:var(--color-primary, #3b82f6);font-weight:600;background:var(--bg-primary, #fff)}.nice-theme-designer__editor{flex:1;padding:16px;overflow-y:auto}.nice-theme-designer__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.nice-theme-designer__grid--single{grid-template-columns:1fr;max-width:400px}.nice-theme-designer__field{display:flex;flex-direction:column;gap:3px;font-size:13px}.nice-theme-designer__field-label{font-weight:500;color:var(--text-secondary, #64748b);font-size:12px}.nice-theme-designer__color-row{display:flex;gap:6px;align-items:center}.nice-theme-designer__color-input{width:32px;height:26px;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;padding:0;cursor:pointer}.nice-theme-designer__preview{width:280px;border-left:1px solid var(--border-color, #e2e8f0);padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.nice-theme-designer__preview-title{margin:0 0 8px;font-size:14px;font-weight:600}.nice-theme-designer__preview-surface{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--bg-primary, #fff);border-radius:var(--nice-radius-md, 8px);border:1px solid var(--border-color, #e2e8f0)}.nice-theme-designer__preview-row{display:flex;gap:6px;flex-wrap:wrap}.nice-theme-designer__preview-card{border:1px solid var(--border-color, #e2e8f0);border-radius:var(--nice-radius-md, 8px);padding:10px 14px;background:var(--bg-secondary, #f8fafc)}.nice-theme-designer__preview-colors{display:flex;gap:6px;flex-wrap:wrap}.nice-theme-designer__swatch{display:inline-block;width:24px;height:24px;border-radius:50%;border:2px solid var(--bg-primary, #fff);box-shadow:0 0 0 1px var(--border-color, #e2e8f0)}.nice-configurator{display:flex;border:1px solid var(--border-color, #e2e8f0);border-radius:var(--nice-radius-lg, 12px);overflow:hidden;background:var(--bg-primary, #fff);min-height:380px}.nice-configurator--vertical{flex-direction:column}.nice-configurator__panel{width:320px;border-right:1px solid var(--border-color, #e2e8f0);padding:16px;overflow-y:auto;background:var(--bg-secondary, #f8fafc)}.nice-configurator--vertical .nice-configurator__panel{width:auto;border-right:none;border-bottom:1px solid var(--border-color, #e2e8f0)}.nice-configurator__group-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #94a3b8);margin:12px 0 6px}.nice-configurator__group-title:first-child{margin-top:0}.nice-configurator__prop{margin-bottom:10px}.nice-configurator__prop-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);margin-bottom:3px}.nice-configurator__preview{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.nice-configurator__output{border-top:1px solid var(--border-color, #e2e8f0);padding:12px 16px;background:var(--bg-secondary, #f8fafc)}.nice-configurator__output summary{font-size:12px;font-weight:600;color:var(--text-muted, #94a3b8);cursor:pointer}.nice-configurator__output pre{font-size:12px;margin:6px 0 0;white-space:pre-wrap;word-break:break-all}.nice-view-builder{display:flex;border:1px solid var(--border-color, #e2e8f0);border-radius:var(--nice-radius-lg, 12px);overflow:hidden;background:var(--bg-primary, #fff);min-height:460px}.nice-view-builder__palette{width:220px;border-right:1px solid var(--border-color, #e2e8f0);padding:12px;overflow-y:auto;background:var(--bg-secondary, #f8fafc)}.nice-view-builder__palette-title{font-size:13px;font-weight:600;margin:0 0 8px}.nice-view-builder__palette-group{margin-bottom:10px}.nice-view-builder__palette-group-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #94a3b8);margin-bottom:4px}.nice-view-builder__palette-item{display:flex;align-items:center;gap:6px;padding:5px 8px;font-size:12px;border-radius:var(--nice-radius-sm, 4px);cursor:grab;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-primary, #fff);margin-bottom:3px}.nice-view-builder__palette-item:hover{border-color:var(--color-primary, #3b82f6)}.nice-view-builder__canvas{flex:1;display:flex;flex-direction:column;padding:16px;overflow-y:auto}.nice-view-builder__canvas-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.nice-view-builder__row{display:grid;gap:6px;padding:8px;margin-bottom:8px;border:1px dashed var(--border-color, #e2e8f0);border-radius:var(--nice-radius-md, 8px);min-height:48px;background:var(--bg-secondary, #f8fafc);position:relative}.nice-view-builder__row-actions{position:absolute;top:4px;right:4px;display:flex;gap:3px}.nice-view-builder__cell{padding:8px;border:1px solid var(--border-color, #e2e8f0);border-radius:var(--nice-radius-sm, 4px);background:var(--bg-primary, #fff);min-height:40px;cursor:pointer;position:relative;font-size:12px}.nice-view-builder__cell--selected{border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.nice-view-builder__cell-label{font-size:10px;color:var(--text-muted, #94a3b8)}.nice-view-builder__cell-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;border:none;background:var(--color-error, #ef4444);color:#fff;font-size:10px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.nice-view-builder__cell:hover .nice-view-builder__cell-remove{opacity:1}.nice-view-builder__panel{width:260px;border-left:1px solid var(--border-color, #e2e8f0);padding:12px;overflow-y:auto;background:var(--bg-secondary, #f8fafc)}.nice-view-builder__panel-title{font-size:13px;font-weight:600;margin:0 0 8px}.nice-view-builder__empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #94a3b8);font-size:14px}.nice-view-renderer{display:flex;flex-direction:column;gap:6px}.nice-view-renderer__row{display:grid;gap:6px}.nice-view-renderer__cell{min-height:32px}.nice-datetime{display:flex;align-items:center;gap:var(--nice-space-1);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--nice-radius-md);color:var(--text-primary);font-family:var(--nice-font-family);transition:border-color var(--nice-transition),box-shadow var(--nice-transition)}.nice-datetime:hover{border-color:var(--color-primary)}.nice-datetime:focus-within{border-color:var(--color-primary);box-shadow:var(--nice-focus-ring)}.nice-datetime--error{border-color:var(--color-error)}.nice-datetime--error:focus-within{box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--color-error)}.nice-datetime--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.nice-datetime--readonly{background:var(--bg-tertiary)}.nice-datetime--xs{padding:2px 6px;font-size:var(--nice-font-size-xs)}.nice-datetime--sm{padding:4px 8px;font-size:var(--nice-font-size-sm)}.nice-datetime--md{padding:6px 10px;font-size:var(--nice-font-size-md)}.nice-datetime--lg{padding:8px 12px;font-size:var(--nice-font-size-lg)}.nice-datetime--xl{padding:10px 14px;font-size:var(--nice-font-size-xl)}.nice-datetime__date{border:none;background:transparent;color:inherit;font:inherit;outline:none;min-width:0;flex-shrink:1}.nice-datetime__separator{display:flex;align-items:center;color:var(--text-muted);flex-shrink:0}.nice-datetime__time-part{width:36px;text-align:center;border:none;background:transparent;color:inherit;font:inherit;outline:none;-moz-appearance:textfield}.nice-datetime__time-part::-webkit-outer-spin-button,.nice-datetime__time-part::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.nice-datetime__colon{color:var(--text-muted);font-weight:600;flex-shrink:0}.nice-datetime__ampm{border:1px solid var(--border-color);border-radius:var(--nice-radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:.75em;font-weight:600;padding:1px 5px;cursor:pointer;flex-shrink:0;transition:background var(--nice-transition-fast)}.nice-datetime__ampm:hover{background:var(--hover-bg)}.nice-datetime__now{border:1px solid var(--border-color);border-radius:var(--nice-radius-sm);background:var(--bg-secondary);color:var(--color-primary);font-size:.75em;font-weight:500;padding:1px 6px;cursor:pointer;flex-shrink:0;transition:background var(--nice-transition-fast)}.nice-datetime__now:hover{background:var(--hover-bg)}.nice-timepicker{display:flex;align-items:center;gap:var(--nice-space-1);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--nice-radius-md);color:var(--text-primary);font-family:var(--nice-font-family);transition:border-color var(--nice-transition),box-shadow var(--nice-transition)}.nice-timepicker:hover{border-color:var(--color-primary)}.nice-timepicker:focus-within{border-color:var(--color-primary);box-shadow:var(--nice-focus-ring)}.nice-timepicker--error{border-color:var(--color-error)}.nice-timepicker--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.nice-timepicker--readonly{background:var(--bg-tertiary)}.nice-timepicker--xs{padding:2px 6px;font-size:var(--nice-font-size-xs)}.nice-timepicker--sm{padding:4px 8px;font-size:var(--nice-font-size-sm)}.nice-timepicker--md{padding:6px 10px;font-size:var(--nice-font-size-md)}.nice-timepicker--lg{padding:8px 12px;font-size:var(--nice-font-size-lg)}.nice-timepicker--xl{padding:10px 14px;font-size:var(--nice-font-size-xl)}.nice-timepicker__icon{display:flex;align-items:center;color:var(--text-muted);flex-shrink:0}.nice-timepicker__part{width:36px;text-align:center;border:none;background:transparent;color:inherit;font:inherit;outline:none;-moz-appearance:textfield}.nice-timepicker__part::-webkit-outer-spin-button,.nice-timepicker__part::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.nice-timepicker__colon{color:var(--text-muted);font-weight:600;flex-shrink:0}.nice-timepicker__ampm{border:1px solid var(--border-color);border-radius:var(--nice-radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:.75em;font-weight:600;padding:1px 5px;cursor:pointer;flex-shrink:0;transition:background var(--nice-transition-fast)}.nice-timepicker__ampm:hover{background:var(--hover-bg)}.nice-rating{display:inline-flex;align-items:center;gap:2px;outline:none;cursor:pointer;color:var(--color-warning, #f59e0b)}.nice-rating:focus-visible{box-shadow:var(--nice-focus-ring);border-radius:var(--nice-radius-sm)}.nice-rating--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.nice-rating--readonly{cursor:default}.nice-rating--xs,.nice-rating--sm{gap:1px}.nice-rating--lg{gap:3px}.nice-rating--xl{gap:4px}.nice-rating__star{display:flex;align-items:center;transition:transform .12s ease}.nice-rating__star--empty{color:var(--border-color, #e2e8f0)}.nice-rating__star:hover{transform:scale(1.15)}.nice-rating--readonly .nice-rating__star:hover{transform:none}.nice-password__toggle{display:flex;align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:var(--nice-radius-full);transition:color var(--nice-transition-fast)}.nice-password__toggle:hover{color:var(--text-primary)}.nice-password__strength{margin-top:var(--nice-space-1)}.nice-password__meter{width:100%;height:4px;border-radius:2px;background:var(--bg-tertiary);overflow:hidden}.nice-password__meter-fill{height:100%;border-radius:2px;transition:width .3s ease,background .3s ease}.nice-password__meter-fill--weak{background:var(--color-error)}.nice-password__meter-fill--fair{background:var(--color-warning)}.nice-password__meter-fill--good{background:var(--color-info)}.nice-password__meter-fill--strong{background:var(--color-success)}.nice-password__strength-label{display:block;font-size:var(--nice-font-size-xs);font-weight:500;margin-top:2px}.nice-password__strength-label--weak{color:var(--color-error)}.nice-password__strength-label--fair{color:var(--color-warning)}.nice-password__strength-label--good{color:var(--color-info)}.nice-password__strength-label--strong{color:var(--color-success)}.nice-password__rules{list-style:none;margin:var(--nice-space-1) 0 0;padding:0;font-size:var(--nice-font-size-xs);color:var(--text-muted)}.nice-password__rule{display:flex;align-items:center;gap:4px;line-height:1.6}.nice-password__rule--passed{color:var(--color-success)}.nice-password__rule-icon{width:14px;text-align:center;flex-shrink:0}.nice-confirm{background:var(--bg-primary);border-radius:var(--nice-radius-lg, 12px);box-shadow:var(--shadow-xl);max-width:420px;width:90vw;animation:nice-modal-enter .2s ease}.nice-confirm__header{padding:var(--nice-space-4) var(--nice-space-4) 0}.nice-confirm__title{margin:0;font-size:var(--nice-font-size-lg);font-weight:600;color:var(--text-primary)}.nice-confirm__body{display:flex;align-items:flex-start;gap:var(--nice-space-3);padding:var(--nice-space-4)}.nice-confirm__icon{flex-shrink:0;display:flex}.nice-confirm__icon--info{color:var(--color-info)}.nice-confirm__icon--warning{color:var(--color-warning)}.nice-confirm__icon--error{color:var(--color-error)}.nice-confirm__icon--success{color:var(--color-success)}.nice-confirm__message{color:var(--text-secondary);font-size:var(--nice-font-size-md);line-height:var(--nice-line-height)}.nice-confirm__footer{display:flex;justify-content:flex-end;gap:var(--nice-space-2);padding:0 var(--nice-space-4) var(--nice-space-4)}.nice-timeline{position:relative;padding:0;list-style:none}.nice-timeline--vertical{display:flex;flex-direction:column;gap:var(--nice-space-4)}.nice-timeline--horizontal{display:flex;flex-direction:row;gap:var(--nice-space-4);overflow-x:auto}.nice-timeline__item{display:flex;gap:var(--nice-space-3);position:relative}.nice-timeline--alternate .nice-timeline__item:nth-child(2n){flex-direction:row-reverse;text-align:right}.nice-timeline--right .nice-timeline__item{flex-direction:row-reverse;text-align:right}.nice-timeline--horizontal .nice-timeline__item{flex-direction:column;align-items:center;min-width:120px}.nice-timeline__marker{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:var(--nice-radius-full);background:var(--nice-primary, #3b82f6);color:#fff;font-size:var(--nice-font-size-xs);position:relative;z-index:1}.nice-timeline__connector{position:absolute;background:var(--nice-border-color, #d1d5db)}.nice-timeline--vertical .nice-timeline__connector{width:2px;top:28px;bottom:calc(-1 * var(--nice-space-4));left:13px}.nice-timeline--right .nice-timeline__connector{left:auto;right:13px}.nice-timeline--alternate .nice-timeline__item:nth-child(2n) .nice-timeline__connector{left:auto;right:13px}.nice-timeline--horizontal .nice-timeline__connector{height:2px;left:28px;right:calc(-1 * var(--nice-space-4));top:13px;bottom:auto}.nice-timeline__content{flex:1;padding-bottom:var(--nice-space-2)}.nice-timeline__title{margin:0;font-size:var(--nice-font-size-md);font-weight:600;color:var(--text-primary)}.nice-timeline__subtitle{margin:0;font-size:var(--nice-font-size-xs);color:var(--text-muted)}.nice-carousel{position:relative;overflow:hidden}.nice-carousel__track{display:flex;transition:transform .3s ease}.nice-carousel__slide{flex-shrink:0;box-sizing:border-box}.nice-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:36px;height:36px;border-radius:var(--nice-radius-full);border:1px solid var(--nice-border-color, #d1d5db);background:var(--bg-primary, #fff);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;box-shadow:var(--shadow-sm);transition:background var(--nice-transition-fast)}.nice-carousel__arrow:hover{background:var(--bg-secondary, #f3f4f6)}.nice-carousel__arrow--prev{left:8px}.nice-carousel__arrow--next{right:8px}.nice-carousel__dots{display:flex;justify-content:center;gap:6px;margin-top:var(--nice-space-2)}.nice-carousel__dot{width:8px;height:8px;border-radius:var(--nice-radius-full);border:none;padding:0;cursor:pointer;background:var(--nice-border-color, #d1d5db);transition:background var(--nice-transition-fast)}.nice-carousel__dot--active{background:var(--nice-primary, #3b82f6)}.nice-tree-select{position:relative}.nice-tree-select__trigger{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:var(--nice-control-height-md, 38px);padding:var(--nice-space-1) var(--nice-space-2);border:1px solid var(--nice-border-color, #d1d5db);border-radius:var(--nice-radius-md, 6px);background:var(--bg-primary, #fff);cursor:pointer;transition:border-color var(--nice-transition-fast)}.nice-tree-select--sm .nice-tree-select__trigger{min-height:var(--nice-control-height-sm, 32px);font-size:var(--nice-font-size-sm)}.nice-tree-select--lg .nice-tree-select__trigger{min-height:var(--nice-control-height-lg, 44px);font-size:var(--nice-font-size-lg)}.nice-tree-select__trigger:focus-within{border-color:var(--nice-primary, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.nice-tree-select--error .nice-tree-select__trigger{border-color:var(--color-error)}.nice-tree-select--disabled .nice-tree-select__trigger{opacity:.5;pointer-events:none;background:var(--bg-secondary, #f3f4f6)}.nice-tree-select__chip{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;border-radius:var(--nice-radius-sm, 4px);background:var(--bg-secondary, #f3f4f6);font-size:var(--nice-font-size-xs)}.nice-tree-select__chip-remove{background:none;border:none;cursor:pointer;padding:0;font-size:14px;line-height:1;color:var(--text-muted)}.nice-tree-select__clear{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:16px;padding:0 2px}.nice-tree-select__dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;margin-top:4px;max-height:260px;overflow:auto;background:var(--bg-primary, #fff);border:1px solid var(--nice-border-color, #d1d5db);border-radius:var(--nice-radius-md, 6px);box-shadow:var(--shadow-lg)}.nice-tree-select__search{width:100%;border:none;border-bottom:1px solid var(--nice-border-color, #d1d5db);padding:var(--nice-space-2);outline:none;font-size:inherit;background:transparent;color:var(--text-primary)}.nice-tree-select__node{display:flex;align-items:center;gap:4px;padding:var(--nice-space-1) var(--nice-space-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--nice-transition-fast)}.nice-tree-select__node:hover{background:var(--bg-secondary, #f3f4f6)}.nice-tree-select__node--selected{background:#3b82f61a;color:var(--nice-primary, #3b82f6);font-weight:500}.nice-tree-select__node--disabled{opacity:.5;pointer-events:none}.nice-tree-select__toggle-btn{background:none;border:none;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;color:var(--text-muted);transition:transform var(--nice-transition-fast)}.nice-tree-select__toggle-btn--expanded{transform:rotate(90deg)}.nice-tree-select__children{padding-left:20px}.nice-picklist{display:flex;gap:var(--nice-space-3);align-items:stretch}.nice-picklist__panel{flex:1;display:flex;flex-direction:column;border:1px solid var(--nice-border-color, #d1d5db);border-radius:var(--nice-radius-md, 6px);overflow:hidden;background:var(--bg-primary, #fff)}.nice-picklist__header{padding:var(--nice-space-2);font-weight:600;border-bottom:1px solid var(--nice-border-color, #d1d5db);font-size:var(--nice-font-size-sm);color:var(--text-primary)}.nice-picklist__filter{border:none;border-bottom:1px solid var(--nice-border-color, #d1d5db);padding:var(--nice-space-1) var(--nice-space-2);outline:none;font-size:var(--nice-font-size-sm);background:transparent;color:var(--text-primary)}.nice-picklist__items{list-style:none;margin:0;padding:0;flex:1;overflow:auto;max-height:260px}.nice-picklist__item{padding:var(--nice-space-1) var(--nice-space-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--nice-transition-fast)}.nice-picklist__item:hover{background:var(--bg-secondary, #f3f4f6)}.nice-picklist__item--selected{background:#3b82f61a}.nice-picklist__controls{display:flex;flex-direction:column;justify-content:center;gap:var(--nice-space-1)}.nice-picklist__btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--nice-radius-md, 6px);border:1px solid var(--nice-border-color, #d1d5db);background:var(--bg-primary, #fff);cursor:pointer;color:var(--text-primary);transition:background var(--nice-transition-fast)}.nice-picklist__btn:hover{background:var(--bg-secondary, #f3f4f6)}.nice-picklist__btn:disabled{opacity:.4;pointer-events:none}.nice-kanban{display:flex;gap:var(--nice-space-3);overflow-x:auto;padding:var(--nice-space-2) 0}.nice-kanban__column{flex:0 0 280px;display:flex;flex-direction:column;border-radius:var(--nice-radius-md, 6px);background:var(--bg-secondary, #f3f4f6);border:1px solid var(--nice-border-color, #d1d5db);max-height:80vh}.nice-kanban__column-header{display:flex;align-items:center;justify-content:space-between;padding:var(--nice-space-2) var(--nice-space-3);font-weight:600;font-size:var(--nice-font-size-sm);border-bottom:2px solid var(--nice-primary, #3b82f6);color:var(--text-primary)}.nice-kanban__column-count{font-weight:400;font-size:var(--nice-font-size-xs);color:var(--text-muted);margin-left:var(--nice-space-1)}.nice-kanban__cards{flex:1;overflow-y:auto;padding:var(--nice-space-2);display:flex;flex-direction:column;gap:var(--nice-space-2);min-height:60px}.nice-kanban__cards--drag-over{background:#3b82f60f}.nice-kanban__card{padding:var(--nice-space-2) var(--nice-space-3);background:var(--bg-primary, #fff);border:1px solid var(--nice-border-color, #d1d5db);border-radius:var(--nice-radius-md, 6px);cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-sm);transition:box-shadow var(--nice-transition-fast),opacity var(--nice-transition-fast)}.nice-kanban__card:hover{box-shadow:var(--shadow-md)}.nice-kanban__card--dragging{opacity:.5}.nice-kanban__card-title{font-weight:500;font-size:var(--nice-font-size-sm);color:var(--text-primary);margin:0}.nice-kanban__card-desc{font-size:var(--nice-font-size-xs);color:var(--text-muted);margin:var(--nice-space-1) 0 0}.nice-kanban__add-btn{border:1px dashed var(--nice-border-color, #d1d5db);background:transparent;padding:var(--nice-space-2);border-radius:var(--nice-radius-md, 6px);cursor:pointer;color:var(--text-muted);font-size:var(--nice-font-size-sm);transition:background var(--nice-transition-fast),border-color var(--nice-transition-fast);margin:0 var(--nice-space-2) var(--nice-space-2)}.nice-kanban__add-btn:hover{background:var(--bg-primary, #fff);border-color:var(--nice-primary, #3b82f6);color:var(--nice-primary, #3b82f6)}.nice-otp{display:inline-flex;gap:var(--nice-space-2)}.nice-otp__digit{width:40px;height:48px;text-align:center;font-size:var(--nice-font-size-xl, 1.25rem);font-weight:600;border:1px solid var(--nice-border-color, #d1d5db);border-radius:var(--nice-radius-md, 6px);background:var(--bg-primary, #fff);color:var(--text-primary);outline:none;transition:border-color var(--nice-transition-fast),box-shadow var(--nice-transition-fast)}.nice-otp__digit:focus{border-color:var(--nice-primary, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.nice-otp--sm .nice-otp__digit{width:32px;height:38px;font-size:var(--nice-font-size-md)}.nice-otp--lg .nice-otp__digit{width:50px;height:56px;font-size:var(--nice-font-size-2xl, 1.5rem)}.nice-otp--xl .nice-otp__digit{width:58px;height:64px;font-size:var(--nice-font-size-3xl, 1.875rem)}.nice-otp--error .nice-otp__digit{border-color:var(--color-error)}.nice-otp--disabled .nice-otp__digit{opacity:.5;pointer-events:none;background:var(--bg-secondary, #f3f4f6)}.nice-knob{display:inline-flex;align-items:center;justify-content:center;position:relative;cursor:pointer;outline:none;touch-action:none}.nice-knob:focus-visible{outline:2px solid var(--nice-primary, #3b82f6);outline-offset:4px;border-radius:var(--nice-radius-full)}.nice-knob--disabled{opacity:.5;pointer-events:none}.nice-knob__value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:600;color:var(--text-primary)}.nice-knob--xs .nice-knob__value{font-size:var(--nice-font-size-xs)}.nice-knob--sm .nice-knob__value{font-size:var(--nice-font-size-sm)}.nice-knob--md .nice-knob__value{font-size:var(--nice-font-size-md)}.nice-knob--lg .nice-knob__value{font-size:var(--nice-font-size-lg)}.nice-knob--xl .nice-knob__value{font-size:var(--nice-font-size-xl, 1.25rem)}.nice-mention{position:relative}.nice-mention__input{width:100%;box-sizing:border-box;padding:var(--nice-space-2);border:1px solid var(--nice-border-color, #d1d5db);border-radius:var(--nice-radius-md, 6px);background:var(--bg-primary, #fff);color:var(--text-primary);font-family:inherit;font-size:var(--nice-font-size-md);resize:vertical;outline:none;transition:border-color var(--nice-transition-fast)}.nice-mention__input:focus{border-color:var(--nice-primary, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.nice-mention--error .nice-mention__input{border-color:var(--color-error)}.nice-mention--disabled .nice-mention__input{opacity:.5;pointer-events:none;background:var(--bg-secondary, #f3f4f6)}.nice-mention--sm .nice-mention__input{font-size:var(--nice-font-size-sm);padding:var(--nice-space-1)}.nice-mention--lg .nice-mention__input{font-size:var(--nice-font-size-lg);padding:var(--nice-space-3)}.nice-mention__suggestions{z-index:200;min-width:180px;max-height:200px;overflow:auto;background:var(--bg-primary, #fff);border:1px solid var(--nice-border-color, #d1d5db);border-radius:var(--nice-radius-md, 6px);box-shadow:var(--shadow-lg);margin:0;padding:var(--nice-space-1) 0;list-style:none}.nice-mention__suggestion{display:flex;align-items:center;gap:var(--nice-space-2);padding:var(--nice-space-1) var(--nice-space-3);cursor:pointer;font-size:var(--nice-font-size-sm);transition:background var(--nice-transition-fast)}.nice-mention__suggestion:hover,.nice-mention__suggestion--active{background:var(--bg-secondary, #f3f4f6)}.nice-mention__suggestion-icon{flex-shrink:0;display:flex}.nice-virtual-scroller{border:1px solid var(--nice-border-color, #d1d5db);border-radius:var(--nice-radius-md, 6px);background:var(--bg-primary, #fff)}.nice-virtual-scroller__item{box-sizing:border-box}.nice-treegrid__toggle{background:none;border:none;cursor:pointer;padding:0;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-muted);flex-shrink:0;vertical-align:middle;margin-right:4px}.nice-treegrid__toggle--leaf{visibility:hidden;cursor:default}.nice-datagrid__table-wrap--virtual{position:relative}.nice-datagrid__vrow{border-bottom:1px solid var(--nice-border-color, #e5e7eb);box-sizing:border-box}.nice-datagrid__vcell{box-sizing:border-box}.nice-datagrid__edit-input{width:100%;box-sizing:border-box;border:1px solid var(--nice-primary, #3b82f6);border-radius:3px;padding:2px 6px;font:inherit;font-size:var(--nice-font-size-sm);background:var(--bg-primary, #fff);color:var(--text-primary);outline:none}.nice-datagrid__group-row{cursor:pointer;-webkit-user-select:none;user-select:none}.nice-datagrid__group-cell{padding:var(--nice-space-2) var(--nice-space-3);font-weight:600;font-size:var(--nice-font-size-sm);background:var(--bg-secondary, #f3f4f6)}.nice-datagrid__group-toggle{display:inline-block;width:20px;text-align:center;margin-right:var(--nice-space-1)}.nice-datagrid__aggregate-row td{border-top:2px solid var(--nice-border-color, #d1d5db);background:var(--bg-secondary, #f3f4f6);font-size:var(--nice-font-size-xs);padding:var(--nice-space-1) var(--nice-space-2)}.nice-datagrid__expand-col{width:36px;text-align:center;padding:0}.nice-datagrid__expand-btn{cursor:pointer;display:inline-block;width:20px;-webkit-user-select:none;user-select:none;font-size:12px}.nice-datagrid__detail-row>td{padding:var(--nice-space-3) var(--nice-space-4);background:var(--bg-secondary, #f8f9fa)}.nice-datagrid__drag-handle{width:28px}.nice-datagrid__row--dragging{opacity:.4;background:var(--nice-primary-light, #eff6ff)}.nice-scheduler__timeline{overflow-x:auto}.nice-scheduler__timeline-header{display:flex;border-bottom:1px solid var(--nice-border-color, #d1d5db);position:sticky;top:0;z-index:2;background:var(--bg-primary, #fff)}.nice-scheduler__timeline-res-label{flex:0 0 120px;padding:var(--nice-space-2);font-weight:600;font-size:var(--nice-font-size-sm);border-right:1px solid var(--nice-border-color, #d1d5db);display:flex;align-items:center}.nice-scheduler__timeline-day{flex:1;min-width:100px;text-align:center;padding:var(--nice-space-1);font-size:var(--nice-font-size-xs);font-weight:500;color:var(--text-secondary);border-right:1px solid var(--nice-border-color, #e5e7eb)}.nice-scheduler__timeline-day--today{color:var(--nice-primary, #3b82f6);font-weight:700}.nice-scheduler__timeline-row{display:flex;border-bottom:1px solid var(--nice-border-color, #e5e7eb)}.nice-scheduler__timeline-cell{flex:1;min-width:100px;min-height:48px;padding:2px;display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--nice-border-color, #e5e7eb);cursor:pointer}.nice-scheduler__timeline-cell:hover{background:var(--bg-secondary, #f9fafb)}.nice-scheduler__timeline-event{padding:2px 6px;border-radius:var(--nice-radius-sm, 4px);color:#fff;font-size:var(--nice-font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab;-webkit-user-select:none;user-select:none}.nice-calendar__title{cursor:pointer;border:none;background:none;font:inherit;font-weight:600}.nice-calendar__title:disabled{cursor:default}.nice-calendar__picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px}.nice-calendar__picker-cell{border:none;background:none;padding:10px 4px;border-radius:var(--nice-radius-sm, 4px);cursor:pointer;font:inherit;text-align:center}.nice-calendar__picker-cell:hover{background:var(--bg-secondary, #f0f0f0)}.nice-calendar__picker-cell--selected{background:var(--nice-primary, #3b82f6);color:#fff}.nice-calendar__picker-cell--other{opacity:.4}.nice-form__group{border:1px solid var(--nice-border-color, #e5e7eb);border-radius:var(--nice-radius-md, 8px);padding:16px;margin-bottom:12px}.nice-form__group--no-title{border:none;padding:0}.nice-form__group-title{font-weight:600;font-size:var(--nice-font-size-sm);padding:0 6px;color:var(--nice-text-secondary, #6b7280)}.nice-form--dirty{border-left:3px solid var(--nice-warning, #f59e0b)}.nice-cascade-select{position:relative;display:inline-block}.nice-cascade-select__trigger{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--nice-border-color, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);background:var(--nice-bg, #fff);cursor:pointer;font:inherit;min-width:180px;text-align:left}.nice-cascade-select__trigger:disabled{opacity:.5;cursor:not-allowed}.nice-cascade-select__display{flex:1}.nice-cascade-select__display--placeholder{color:var(--nice-text-secondary, #9ca3af)}.nice-cascade-select__arrow{font-size:12px;opacity:.5}.nice-cascade-select__dropdown{position:absolute;top:100%;left:0;z-index:100;display:flex;background:var(--nice-bg, #fff);border:1px solid var(--nice-border-color, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);box-shadow:var(--nice-shadow-md);max-height:300px}.nice-cascade-select__column{min-width:140px;border-right:1px solid var(--nice-border-color, #e5e7eb);overflow-y:auto}.nice-cascade-select__column:last-child{border-right:none}.nice-cascade-select__option{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;cursor:pointer}.nice-cascade-select__option:hover{background:var(--bg-secondary, #f3f4f6)}.nice-cascade-select__option--selected{background:var(--nice-primary-light, #dbeafe);color:var(--nice-primary, #3b82f6)}.nice-cascade-select__chevron{margin-left:8px;opacity:.4}.nice-mc-combo{position:relative;display:inline-block}.nice-mc-combo__wrap{display:flex;position:relative}.nice-mc-combo__input{flex:1;padding:6px 10px;border:1px solid var(--nice-border-color, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);font:inherit;background:var(--nice-bg, #fff);min-width:200px}.nice-mc-combo__toggle{position:absolute;right:0;top:0;bottom:0;width:28px;border:none;background:none;cursor:pointer;font-size:12px}.nice-mc-combo__dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--nice-bg, #fff);border:1px solid var(--nice-border-color, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);box-shadow:var(--nice-shadow-md);max-height:300px;overflow:auto}.nice-mc-combo__table{width:100%;border-collapse:collapse;font-size:var(--nice-font-size-sm)}.nice-mc-combo__table th{padding:6px 8px;text-align:left;border-bottom:1px solid var(--nice-border-color, #e5e7eb);font-weight:600;background:var(--bg-secondary, #f9fafb);position:sticky;top:0}.nice-mc-combo__table td{padding:5px 8px}.nice-mc-combo__row{cursor:pointer}.nice-mc-combo__row:hover{background:var(--bg-secondary, #f3f4f6)}.nice-mc-combo__row--selected{background:var(--nice-primary-light, #dbeafe)}.nice-mc-combo__empty{text-align:center;padding:12px;color:var(--nice-text-secondary, #9ca3af)}.nice-dashboard{width:100%}.nice-dashboard__panel{background:var(--nice-bg, #fff);border:1px solid var(--nice-border-color, #e5e7eb);border-radius:var(--nice-radius-md, 8px);position:relative;overflow:hidden}.nice-dashboard__panel--dragging{opacity:.4}.nice-dashboard__panel-content{padding:12px;height:100%;overflow:auto}.nice-dashboard__resize-handle{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:se-resize;opacity:.3;background:linear-gradient(135deg,transparent 50%,var(--nice-border-color, #ccc) 50%)}.nice-dashboard__resize-handle:hover{opacity:.7}.nice-org-chart{overflow:auto}.nice-org-chart__root,.nice-org-chart__children{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;align-items:center}.nice-org-chart--top-down .nice-org-chart__children{flex-direction:row;align-items:flex-start;gap:16px;margin-top:12px}.nice-org-chart--left-right .nice-org-chart__children{margin-left:24px;gap:6px}.nice-org-chart__item{display:flex;flex-direction:column;align-items:center}.nice-org-chart--left-right .nice-org-chart__item{flex-direction:row;align-items:flex-start}.nice-org-chart__node{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--nice-border-color, #e5e7eb);border-radius:var(--nice-radius-md, 8px);background:var(--nice-bg, #fff);cursor:default;position:relative}.nice-org-chart__node--selected{border-color:var(--nice-primary, #3b82f6);background:var(--nice-primary-light, #dbeafe)}.nice-org-chart__toggle{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;border:1px solid var(--nice-border-color, #ccc);background:var(--nice-bg, #fff);font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.nice-image-viewer{display:inline-block}.nice-image-viewer__thumb{max-width:100%;height:auto;display:block;border-radius:var(--nice-radius-sm, 4px)}.nice-image-viewer__lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000d9;display:flex;align-items:center;justify-content:center}.nice-image-viewer__lightbox-inner{position:relative;overflow:hidden;width:90vw;height:90vh;display:flex;align-items:center;justify-content:center}.nice-image-viewer__full{max-width:100%;max-height:100%;transition:transform .1s;-webkit-user-select:none;user-select:none}.nice-image-viewer__toolbar{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:8px;background:#0009;border-radius:20px;padding:6px 14px}.nice-image-viewer__toolbar button{border:none;background:none;color:#fff;font-size:18px;cursor:pointer;padding:4px 8px}.nice-inplace{display:inline-flex;align-items:center}.nice-inplace--disabled{opacity:.5}.nice-inplace__display{cursor:pointer;padding:2px 4px;border-radius:var(--nice-radius-sm, 4px);display:inline-flex;align-items:center;gap:4px}.nice-inplace__display:hover{background:var(--bg-secondary, #f3f4f6)}.nice-inplace__placeholder{color:var(--nice-text-secondary, #9ca3af);font-style:italic}.nice-inplace__icon{font-size:12px;opacity:.4}.nice-inplace__editor{display:inline-flex;align-items:center;gap:4px}.nice-inplace__input{padding:4px 8px;border:1px solid var(--nice-primary, #3b82f6);border-radius:var(--nice-radius-sm, 4px);font:inherit;outline:none}.nice-inplace__save,.nice-inplace__cancel{border:none;background:none;cursor:pointer;font-size:14px;padding:2px 4px}.nice-inplace__save{color:var(--nice-success, #22c55e)}.nice-inplace__cancel{color:var(--nice-danger, #ef4444)}.nice-heatmap__table{border-collapse:collapse}.nice-heatmap__header{padding:4px 6px;font-weight:600;font-size:var(--nice-font-size-xs);text-align:center}.nice-heatmap__row-label{padding:4px 8px;font-weight:600;font-size:var(--nice-font-size-xs);text-align:right}.nice-heatmap__cell{font-size:var(--nice-font-size-xs);border:1px solid var(--nice-bg, #fff)}.nice-md-editor{border:1px solid var(--nice-border-color, #e5e7eb);border-radius:var(--nice-radius-md, 8px);overflow:hidden}.nice-md-editor__toolbar{display:flex;align-items:center;gap:2px;padding:4px 8px;border-bottom:1px solid var(--nice-border-color, #e5e7eb);background:var(--bg-secondary, #f9fafb)}.nice-md-editor__btn{border:none;background:none;padding:4px 8px;cursor:pointer;font:inherit;font-weight:600;border-radius:var(--nice-radius-sm, 4px)}.nice-md-editor__btn:hover{background:var(--nice-border-color, #e5e7eb)}.nice-md-editor__tabs{margin-left:auto;display:flex;gap:2px}.nice-md-editor__tab{border:none;background:none;padding:4px 10px;cursor:pointer;font:inherit;border-radius:var(--nice-radius-sm, 4px)}.nice-md-editor__tab--active{background:var(--nice-bg, #fff);box-shadow:0 1px 2px #00000014}.nice-md-editor__body{display:flex}.nice-md-editor--preview-side .nice-md-editor__body>*{flex:1}.nice-md-editor__textarea{width:100%;border:none;padding:12px;font-family:monospace;font-size:var(--nice-font-size-sm);resize:vertical;outline:none;background:var(--nice-bg, #fff)}.nice-md-editor__preview{padding:12px;overflow:auto;border-left:1px solid var(--nice-border-color, #e5e7eb);font-size:var(--nice-font-size-sm)}.nice-md-editor--preview-tab .nice-md-editor__preview{border-left:none}.nice-md-editor--preview-none .nice-md-editor__textarea{border-right:none}.nice-block-ui__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:not-allowed}.nice-block-ui__message{padding:10px 20px;background:var(--nice-bg, #fff);border-radius:var(--nice-radius-md, 8px);box-shadow:var(--nice-shadow-md)}.nice-app-layout{display:flex;flex-direction:column;min-height:100vh}.nice-app-layout__header{flex-shrink:0;border-bottom:1px solid var(--nice-border-color, #e5e7eb)}.nice-app-layout__body{display:flex;flex:1;position:relative}.nice-app-layout__sidebar{flex-shrink:0;border-right:1px solid var(--nice-border-color, #e5e7eb);background:var(--bg-secondary, #f9fafb)}.nice-app-layout__sidebar-toggle{position:absolute;left:0;top:8px;z-index:5;border:1px solid var(--nice-border-color, #e5e7eb);border-left:none;border-radius:0 var(--nice-radius-sm, 4px) var(--nice-radius-sm, 4px) 0;background:var(--nice-bg, #fff);cursor:pointer;padding:4px 6px;font-size:14px}.nice-app-layout__content{flex:1;overflow:auto}.nice-app-layout__footer{flex-shrink:0;border-top:1px solid var(--nice-border-color, #e5e7eb)}.nice-bottom-nav{display:flex;justify-content:space-around;align-items:center;border-top:1px solid var(--nice-border-color, #e5e7eb);background:var(--nice-bg, #fff);padding:4px 0}.nice-bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:2px;border:none;background:none;cursor:pointer;padding:6px 12px;color:var(--nice-text-secondary, #6b7280);font:inherit;font-size:var(--nice-font-size-xs)}.nice-bottom-nav__item--active{color:var(--nice-primary, #3b82f6)}.nice-bottom-nav__item--disabled{opacity:.4;cursor:not-allowed}.nice-bottom-nav__icon{font-size:20px}.nice-mega-menu{position:relative}.nice-mega-menu__bar{display:flex;gap:2px}.nice-mega-menu__trigger{border:none;background:none;cursor:pointer;padding:8px 14px;font:inherit;font-weight:500;border-radius:var(--nice-radius-sm, 4px)}.nice-mega-menu__trigger:hover,.nice-mega-menu__trigger--active{background:var(--bg-secondary, #f3f4f6)}.nice-mega-menu__dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--nice-bg, #fff);border:1px solid var(--nice-border-color, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);box-shadow:var(--nice-shadow-lg);padding:16px}.nice-mega-menu__columns{display:flex;gap:24px}.nice-mega-menu__column{min-width:160px}.nice-mega-menu__column-header{font-weight:600;font-size:var(--nice-font-size-sm);margin-bottom:8px;color:var(--nice-text-secondary, #6b7280)}.nice-mega-menu__list{list-style:none;padding:0;margin:0}.nice-mega-menu__item{padding:0}.nice-mega-menu__item--disabled{opacity:.4}.nice-mega-menu__link{display:flex;align-items:center;gap:6px;padding:5px 8px;width:100%;border:none;background:none;cursor:pointer;text-decoration:none;color:inherit;font:inherit;border-radius:var(--nice-radius-sm, 4px)}.nice-mega-menu__link:hover{background:var(--bg-secondary, #f3f4f6)}.nice-mega-menu__icon{font-size:16px;opacity:.6}.nice-datagrid__row--pinned{background:var(--nice-bg-highlight, #fffbe6)}.nice-datagrid__status-bar{display:flex;gap:16px;padding:6px 12px;font-size:.8125rem;border-top:1px solid var(--nice-border, #e2e8f0);color:var(--nice-text-secondary, #6b7280)}.nice-datagrid__context-menu{background:var(--bg-primary, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-md, 8px);box-shadow:0 4px 16px #0000001f;padding:4px;min-width:160px}.nice-datagrid__context-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;border:none;background:none;cursor:pointer;font:inherit;text-align:left;border-radius:var(--nice-radius-sm, 4px)}.nice-datagrid__context-item:hover{background:var(--bg-secondary, #f3f4f6)}.nice-datagrid__context-item:disabled{opacity:.4;cursor:default}.nice-datagrid__context-icon{font-size:14px;opacity:.7}@media print{.nice-datagrid--print .nice-datagrid__toolbar,.nice-datagrid--print .nice-datagrid__footer,.nice-datagrid--print .nice-datagrid__status-bar{display:none}.nice-datagrid--print{border:none;box-shadow:none}.nice-datagrid--print table{font-size:10pt}}.nice-fileuploader__thumb{width:40px;height:40px;object-fit:cover;border-radius:var(--nice-radius-sm, 4px);flex-shrink:0}.nice-fileuploader__progress{flex:0 0 80px;height:6px;border-radius:3px;background:var(--nice-border, #e2e8f0);overflow:hidden}.nice-fileuploader__progress-bar{height:100%;background:var(--nice-primary, #3b82f6);border-radius:3px;transition:width .2s}.nice-filterbuilder__presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;align-items:center}.nice-filterbuilder__preset-list{display:flex;flex-wrap:wrap;gap:4px}.nice-filterbuilder__preset-tag{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;border:1px solid var(--nice-border, #e2e8f0);border-radius:12px;font-size:.8125rem}.nice-filterbuilder__preset-btn{border:none;background:none;cursor:pointer;font:inherit;padding:0}.nice-filterbuilder__preset-btn:hover{text-decoration:underline}.nice-filterbuilder__preset-del{border:none;background:none;cursor:pointer;color:var(--nice-danger, #ef4444);font-size:14px;padding:0 2px}.nice-filterbuilder__preset-save{display:flex;gap:4px;align-items:center}.nice-gantt__zoom-controls{display:flex;align-items:center;gap:6px;padding:4px 8px}.nice-gantt__zoom-label{font-size:.8125rem;min-width:36px;text-align:center}.nice-gantt__bar--draggable{cursor:grab}.nice-gantt__bar--draggable:active{cursor:grabbing}.nice-gantt__bar-resize{position:absolute;right:0;top:0;bottom:0;width:6px;cursor:ew-resize;background:#00000026;border-radius:0 4px 4px 0}.nice-diagram__toolbar{display:flex;gap:4px;padding:4px 8px;border-bottom:1px solid var(--nice-border, #e2e8f0)}.nice-menu__item--focused>.nice-menu__link{outline:2px solid var(--nice-primary, #3b82f6);outline-offset:-2px}.nice-list__item--swiped{position:relative;overflow:hidden}.nice-list__item-content{display:flex;align-items:center;gap:8px;transition:transform .2s}.nice-list__item--swiped .nice-list__item-content{transform:translate(-100px)}.nice-list__swipe-actions{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:stretch}.nice-list__swipe-btn{border:none;padding:0 16px;color:#fff;cursor:pointer;font:inherit;background:var(--nice-danger, #ef4444)}.nice-pivotgrid__cell--clickable{cursor:pointer;text-decoration:underline}.nice-pivotgrid__cell--clickable:hover{background:var(--nice-bg-highlight, #eff6ff)}.nice-modal__header-actions{display:flex;align-items:center;gap:4px}.nice-modal__fullscreen{border:none;background:none;cursor:pointer;font-size:16px;padding:4px;color:var(--nice-text-secondary, #6b7280);border-radius:var(--nice-radius-sm, 4px)}.nice-modal__fullscreen:hover{background:var(--bg-secondary, #f3f4f6)}.nice-spreadsheet{display:flex;flex-direction:column;border:1px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-sm, 4px);background:var(--nice-bg, #fff);overflow:hidden;font-size:13px}.nice-spreadsheet:focus{outline:2px solid var(--nice-primary, #3b82f6);outline-offset:-2px}.nice-spreadsheet__toolbar{display:flex;align-items:center;gap:4px;padding:4px 8px;border-bottom:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg-secondary, #f9fafb);flex-wrap:wrap}.nice-spreadsheet__tool-btn{border:1px solid transparent;background:none;cursor:pointer;padding:4px 8px;border-radius:var(--nice-radius-sm, 4px);font:inherit}.nice-spreadsheet__tool-btn:hover{background:var(--nice-bg-tertiary, #f3f4f6)}.nice-spreadsheet__separator{width:1px;height:20px;background:var(--nice-border, #e2e8f0);margin:0 4px}.nice-spreadsheet__format-select{padding:2px 4px;border:1px solid var(--nice-border, #e2e8f0);border-radius:3px;font-size:12px;background:var(--nice-bg, #fff)}.nice-spreadsheet__formula-bar{display:flex;align-items:center;gap:8px;padding:4px 8px;border-bottom:1px solid var(--nice-border, #e2e8f0)}.nice-spreadsheet__cell-label{min-width:40px;font-weight:600;font-size:12px;text-align:center;color:var(--nice-text-secondary, #6b7280)}.nice-spreadsheet__formula-input{flex:1;border:1px solid var(--nice-border, #e2e8f0);border-radius:3px;padding:2px 6px;font-family:monospace;font-size:12px;background:var(--nice-bg, #fff);color:var(--nice-text, #1f2937);outline:none}.nice-spreadsheet__formula-input:focus{border-color:var(--nice-primary, #3b82f6)}.nice-spreadsheet__grid{flex:1;overflow:auto}.nice-spreadsheet__grid table{border-collapse:collapse;width:max-content}.nice-spreadsheet__corner{width:40px;min-width:40px;background:var(--nice-bg-secondary, #f9fafb);border:1px solid var(--nice-border, #e2e8f0);position:sticky;top:0;left:0;z-index:2}.nice-spreadsheet__col-header{min-width:80px;padding:4px 8px;background:var(--nice-bg-secondary, #f9fafb);border:1px solid var(--nice-border, #e2e8f0);text-align:center;font-weight:600;font-size:11px;color:var(--nice-text-secondary, #6b7280);position:sticky;top:0;z-index:1}.nice-spreadsheet__row-header{width:40px;min-width:40px;padding:2px 4px;background:var(--nice-bg-secondary, #f9fafb);border:1px solid var(--nice-border, #e2e8f0);text-align:center;font-weight:600;font-size:11px;color:var(--nice-text-secondary, #6b7280);position:sticky;left:0;z-index:1}.nice-spreadsheet__cell{padding:2px 6px;border:1px solid var(--nice-border, #e2e8f0);min-width:80px;height:24px;cursor:cell;white-space:nowrap;overflow:hidden}.nice-spreadsheet__cell--selected{outline:2px solid var(--nice-primary, #3b82f6);outline-offset:-2px;background:var(--nice-bg-highlight, #eff6ff)}.nice-spreadsheet__cell--readonly{background:var(--nice-bg-secondary, #f9fafb)}.nice-spreadsheet__cell-editor{width:100%;height:100%;border:none;outline:none;padding:0;font:inherit;background:transparent}.nice-spreadsheet__tabs{display:flex;align-items:center;gap:2px;padding:4px 8px;border-top:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg-secondary, #f9fafb);overflow-x:auto}.nice-spreadsheet__tab{border:1px solid transparent;background:none;cursor:pointer;padding:4px 12px;border-radius:4px 4px 0 0;font-size:12px}.nice-spreadsheet__tab--active{background:var(--nice-bg, #fff);border-color:var(--nice-border, #e2e8f0);border-bottom-color:var(--nice-bg, #fff);font-weight:600}.nice-spreadsheet__tab-add,.nice-spreadsheet__tab-remove{border:none;background:none;cursor:pointer;padding:4px 8px;font-size:14px;color:var(--nice-text-secondary, #6b7280)}.nice-pdfviewer{display:flex;flex-direction:column;border:1px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-sm, 4px);overflow:hidden;background:var(--nice-bg-secondary, #f9fafb)}.nice-pdfviewer__toolbar{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg, #fff);flex-wrap:wrap}.nice-pdfviewer__btn{border:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg, #fff);cursor:pointer;padding:4px 10px;border-radius:var(--nice-radius-sm, 4px);font:inherit}.nice-pdfviewer__btn:hover:not(:disabled){background:var(--nice-bg-tertiary, #f3f4f6)}.nice-pdfviewer__btn:disabled{opacity:.5;cursor:not-allowed}.nice-pdfviewer__page-nav,.nice-pdfviewer__zoom-controls,.nice-pdfviewer__actions{display:flex;align-items:center;gap:4px}.nice-pdfviewer__page-info,.nice-pdfviewer__zoom-label{font-size:13px;min-width:50px;text-align:center}.nice-pdfviewer__content{flex:1;overflow:auto;display:flex;justify-content:center}.nice-pdfviewer__iframe{width:100%;height:100%;border:none}.nice-pdfviewer__canvas{max-width:100%}.nice-pdfviewer__error{padding:12px;color:var(--nice-danger, #ef4444);background:var(--nice-danger-bg, #fef2f2)}.nice-pdfviewer__loading{padding:12px;text-align:center;color:var(--nice-text-secondary, #6b7280)}.nice-image-editor{display:flex;flex-direction:column;border:1px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-sm, 4px);overflow:hidden;background:var(--nice-bg, #fff)}.nice-image-editor__toolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg-secondary, #f9fafb);flex-wrap:wrap}.nice-image-editor__btn{border:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg, #fff);cursor:pointer;padding:4px 8px;border-radius:var(--nice-radius-sm, 4px);font:inherit}.nice-image-editor__btn:hover{background:var(--nice-bg-tertiary, #f3f4f6)}.nice-image-editor__btn--active,.nice-image-editor__btn--save{background:var(--nice-primary, #3b82f6);color:#fff;border-color:var(--nice-primary, #3b82f6)}.nice-image-editor__sep{width:1px;height:20px;background:var(--nice-border, #e2e8f0);margin:0 4px}.nice-image-editor__slider-label{display:flex;align-items:center;gap:4px;font-size:12px}.nice-image-editor__slider{width:80px}.nice-image-editor__canvas-wrap{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;background:#e5e5e5}.nice-image-editor__canvas{max-width:100%;max-height:100%}.nice-barcode,.nice-qrcode{display:block}.nice-signature{display:inline-flex;flex-direction:column;gap:8px}.nice-signature__label{font-weight:500;font-size:14px;color:var(--nice-text, #1f2937)}.nice-signature__canvas-wrap{border:2px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-sm, 4px);overflow:hidden}.nice-signature__canvas{display:block;background:var(--nice-bg, #fff)}.nice-signature__actions{display:flex;gap:8px}.nice-signature__btn{border:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg, #fff);cursor:pointer;padding:4px 12px;border-radius:var(--nice-radius-sm, 4px);font:inherit;font-size:13px}.nice-signature__btn:hover:not(:disabled){background:var(--nice-bg-tertiary, #f3f4f6)}.nice-signature__btn:disabled{opacity:.5;cursor:not-allowed}.nice-signature--disabled .nice-signature__canvas-wrap{opacity:.6}.nice-doc-editor{display:flex;flex-direction:column;border:1px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-sm, 4px);overflow:hidden;background:var(--nice-bg, #fff)}.nice-doc-editor__toolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg-secondary, #f9fafb);flex-wrap:wrap}.nice-doc-editor__type-select,.nice-doc-editor__level-select{padding:2px 6px;border:1px solid var(--nice-border, #e2e8f0);border-radius:3px;font-size:12px;background:var(--nice-bg, #fff)}.nice-doc-editor__btn{border:1px solid transparent;background:none;cursor:pointer;padding:4px 8px;border-radius:var(--nice-radius-sm, 4px);font:inherit}.nice-doc-editor__btn:hover{background:var(--nice-bg-tertiary, #f3f4f6)}.nice-doc-editor__sep{width:1px;height:20px;background:var(--nice-border, #e2e8f0);margin:0 4px}.nice-doc-editor__body{flex:1;padding:16px;overflow-y:auto;min-height:200px}.nice-doc-editor__block{display:flex;gap:4px;margin-bottom:4px;border-radius:4px;padding:2px}.nice-doc-editor__block--focused{background:var(--nice-bg-highlight, #eff6ff)}.nice-doc-editor__block-handle{cursor:grab;color:var(--nice-text-muted, #9ca3af);padding:2px;-webkit-user-select:none;user-select:none;opacity:0;transition:opacity .15s;font-size:14px}.nice-doc-editor__block:hover .nice-doc-editor__block-handle{opacity:1}.nice-doc-editor__content{flex:1;outline:none;min-height:1.5em;line-height:1.6}.nice-doc-editor__content[data-placeholder]:empty:before{content:attr(data-placeholder);color:var(--nice-text-muted, #9ca3af);pointer-events:none}.nice-doc-editor__block--heading .nice-doc-editor__content{font-size:1.5em;font-weight:700}.nice-doc-editor__block--code .nice-doc-editor__content{font-family:monospace;background:var(--nice-bg-secondary, #f9fafb);padding:8px;border-radius:4px}.nice-doc-editor__block--quote .nice-doc-editor__content{border-left:3px solid var(--nice-primary, #3b82f6);padding-left:12px;font-style:italic}.nice-doc-editor__divider{border:none;border-top:1px solid var(--nice-border, #e2e8f0);margin:8px 0}.nice-doc-editor__image{max-width:100%;border-radius:4px}.nice-doc-editor__input{width:100%;padding:4px 8px;border:1px dashed var(--nice-border, #e2e8f0);border-radius:4px;font-size:13px}.nice-dock{position:fixed;z-index:var(--nice-z-dropdown, 100)}.nice-dock--bottom{bottom:8px;left:50%;transform:translate(-50%)}.nice-dock--left{left:8px;top:50%;transform:translateY(-50%)}.nice-dock--right{right:8px;top:50%;transform:translateY(-50%)}.nice-dock__bar{display:flex;align-items:end;gap:4px;padding:8px 12px;background:var(--nice-bg, rgba(255,255,255,.9));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;border:1px solid var(--nice-border, #e2e8f0);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0,0,0,.1))}.nice-dock__item{border:none;background:none;cursor:pointer;padding:8px;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;transition:transform .15s ease-out}.nice-dock__item:hover{background:var(--nice-bg-tertiary, #f3f4f6)}.nice-dock__item--active{background:var(--nice-primary-bg, #eff6ff)}.nice-dock__item--disabled{opacity:.4;cursor:not-allowed}.nice-dock__icon{font-size:28px;display:flex}.nice-dock__badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;border-radius:8px;background:var(--nice-danger, #ef4444);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;padding:0 4px}.nice-terminal{display:flex;flex-direction:column;background:#1e1e1e;color:#d4d4d4;border-radius:var(--nice-radius-sm, 4px);overflow:hidden;font-family:monospace;font-size:13px}.nice-terminal__output{flex:1;overflow-y:auto;padding:8px 12px}.nice-terminal__line{padding:1px 0;white-space:pre-wrap;word-break:break-all}.nice-terminal__line--input{color:#d4d4d4}.nice-terminal__line--output{color:#9cdcfe}.nice-terminal__line--error{color:#f48771}.nice-terminal__line--system{color:#608b4e;font-style:italic}.nice-terminal__timestamp{color:#6a9955;margin-right:8px}.nice-terminal__input-row{display:flex;align-items:center;padding:4px 12px 8px;border-top:1px solid #333}.nice-terminal__prompt{color:#6a9955;margin-right:4px;flex-shrink:0}.nice-terminal__input{flex:1;background:transparent;border:none;outline:none;color:#d4d4d4;font:inherit;caret-color:#d4d4d4}.nice-wm{width:100%;height:100%;background:var(--nice-bg-secondary, #f0f0f0)}.nice-wm__window{display:flex;flex-direction:column;background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #ccc);border-radius:var(--nice-radius-sm, 4px);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0,0,0,.1));overflow:hidden}.nice-wm__titlebar{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--nice-bg-secondary, #f0f0f0);border-bottom:1px solid var(--nice-border, #ddd);cursor:move;-webkit-user-select:none;user-select:none;flex-shrink:0}.nice-wm__icon{display:flex;font-size:14px}.nice-wm__title{flex:1;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nice-wm__controls{display:flex;gap:2px}.nice-wm__ctrl-btn{border:none;background:none;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:3px;font-size:12px}.nice-wm__ctrl-btn:hover{background:var(--nice-bg-tertiary, #e5e5e5)}.nice-wm__ctrl-btn--close:hover{background:var(--nice-danger, #ef4444);color:#fff}.nice-wm__body{flex:1;overflow:auto;padding:8px}.nice-wm__resize-handle{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize}.nice-wm__resize-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-right:2px solid var(--nice-border, #aaa);border-bottom:2px solid var(--nice-border, #aaa)}.nice-wm__taskbar{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:2px;padding:4px 8px;background:var(--nice-bg, rgba(255,255,255,.95));border-top:1px solid var(--nice-border, #ddd);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999}.nice-wm__taskbar-btn{border:1px solid transparent;background:none;cursor:pointer;padding:4px 12px;border-radius:4px;font-size:12px;display:flex;align-items:center;gap:4px}.nice-wm__taskbar-btn:hover{background:var(--nice-bg-tertiary, #f3f4f6)}.nice-wm__taskbar-btn--minimized{opacity:.6}.nice-cookie-consent{position:fixed;left:0;right:0;z-index:var(--nice-z-modal, 400);padding:16px}.nice-cookie-consent--bottom{bottom:0}.nice-cookie-consent--top{top:0}.nice-cookie-consent--center{top:50%;left:50%;right:auto;transform:translate(-50%,-50%);max-width:600px;width:calc(100% - 32px)}.nice-cookie-consent__content{background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-md, 8px);padding:16px 24px;box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0,0,0,.1));max-width:900px;margin:0 auto}.nice-cookie-consent__message{margin:0 0 12px;font-size:14px;line-height:1.5;color:var(--nice-text, #1f2937)}.nice-cookie-consent__link{color:var(--nice-primary, #3b82f6);text-decoration:underline}.nice-cookie-consent__details{margin-bottom:12px}.nice-cookie-consent__category{display:flex;gap:8px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--nice-border, #f3f4f6);cursor:pointer}.nice-cookie-consent__checkbox{margin-top:3px}.nice-cookie-consent__cat-info{display:flex;flex-direction:column;gap:2px}.nice-cookie-consent__cat-desc{font-size:12px;color:var(--nice-text-secondary, #6b7280)}.nice-cookie-consent__actions{display:flex;gap:8px;flex-wrap:wrap}.nice-cookie-consent__btn{border:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg, #fff);cursor:pointer;padding:8px 16px;border-radius:var(--nice-radius-sm, 4px);font:inherit;font-size:13px}.nice-cookie-consent__btn--accept{background:var(--nice-primary, #3b82f6);color:#fff;border-color:var(--nice-primary, #3b82f6)}.nice-cookie-consent__btn--reject{background:transparent}.nice-cookie-consent__btn:hover{opacity:.9}.nice-login{display:flex;flex-direction:column;gap:16px;max-width:400px;margin:0 auto;padding:32px;background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-md, 8px);box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0,0,0,.1))}.nice-login__logo{text-align:center;margin-bottom:8px}.nice-login__title{text-align:center;margin:0;font-size:1.5rem;color:var(--nice-text, #1f2937)}.nice-login__error{padding:10px 14px;background:var(--nice-danger-bg, #fef2f2);color:var(--nice-danger, #ef4444);border-radius:var(--nice-radius-sm, 4px);font-size:13px}.nice-login__field{display:flex;flex-direction:column;gap:4px}.nice-login__label{font-size:14px;font-weight:500;color:var(--nice-text, #1f2937)}.nice-login__input{padding:8px 12px;border:1px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-sm, 4px);font:inherit;font-size:14px;background:var(--nice-bg, #fff);color:var(--nice-text, #1f2937);outline:none}.nice-login__input:focus{border-color:var(--nice-primary, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.nice-login__password-wrap{position:relative;display:flex}.nice-login__password-wrap .nice-login__input{flex:1;padding-right:40px}.nice-login__toggle-password{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:none;background:none;cursor:pointer;padding:4px;font-size:16px}.nice-login__options{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.nice-login__remember{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.nice-login__forgot{border:none;background:none;cursor:pointer;color:var(--nice-primary, #3b82f6);font-size:13px;padding:0}.nice-login__forgot:hover{text-decoration:underline}.nice-login__submit{padding:10px 16px;border:none;border-radius:var(--nice-radius-sm, 4px);font:inherit;font-size:14px;font-weight:600;cursor:pointer;background:var(--nice-primary, #3b82f6);color:#fff}.nice-login__submit:hover:not(:disabled){opacity:.9}.nice-login__submit:disabled{opacity:.6;cursor:not-allowed}.nice-login__register{text-align:center;font-size:13px;color:var(--nice-text-secondary, #6b7280);margin:0}.nice-login__register-link{border:none;background:none;cursor:pointer;color:var(--nice-primary, #3b82f6);font:inherit;padding:0}.nice-login__register-link:hover{text-decoration:underline}.nice-skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:99999;background:var(--nice-primary, #3b82f6);color:#fff;padding:8px 16px;font-size:14px;text-decoration:none;border-radius:0 0 4px;white-space:nowrap}.nice-skip-link:focus{left:0;top:0;width:auto;height:auto;overflow:visible;outline:2px solid var(--nice-primary, #3b82f6);outline-offset:2px}.nice-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nice-focus-visible:focus-visible{outline:2px solid var(--nice-primary, #3b82f6);outline-offset:2px}.nice-desktop{display:flex;flex-direction:column;width:100%;height:100%;position:relative;background:var(--nice-desktop-bg, #1e3a5f);overflow:hidden;font-family:var(--nice-font, inherit)}.nice-desktop--taskbar-top,.nice-desktop--taskbar-bottom{flex-direction:column}.nice-desktop--taskbar-left{flex-direction:row}.nice-desktop--taskbar-right{flex-direction:row-reverse}.nice-desktop__area{flex:1;position:relative;overflow:hidden}.nice-desktop__grid{display:grid;gap:8px;padding:16px;align-content:start;height:100%}.nice-desktop__grid--xs .nice-desktop__icon{width:56px}.nice-desktop__grid--sm .nice-desktop__icon{width:64px}.nice-desktop__grid--md .nice-desktop__icon{width:80px}.nice-desktop__grid--lg .nice-desktop__icon{width:96px}.nice-desktop__grid--xl .nice-desktop__icon{width:112px}.nice-desktop__icon{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.nice-desktop__icon:hover{background:#ffffff1f}.nice-desktop__icon--selected{background:#fff3;outline:1px solid rgba(255,255,255,.4)}.nice-desktop__icon--disabled{opacity:.5;cursor:default}.nice-desktop__icon-img{font-size:2em;line-height:1}.nice-desktop__icon-label{font-size:11px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);word-break:break-word;max-width:100%}.nice-desktop__taskbar{display:flex;align-items:center;gap:2px;background:var(--nice-taskbar-bg, rgba(0,0,0,.75));color:#fff;flex-shrink:0;padding:0 4px}.nice-desktop__taskbar--top,.nice-desktop__taskbar--bottom{flex-direction:row}.nice-desktop__taskbar--left,.nice-desktop__taskbar--right{flex-direction:column}.nice-desktop__taskbar-items{display:flex;flex:1;gap:2px;overflow:hidden}.nice-desktop__taskbar--left .nice-desktop__taskbar-items,.nice-desktop__taskbar--right .nice-desktop__taskbar-items{flex-direction:column}.nice-desktop__taskbar-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;background:transparent;border:none;color:#fff;font-size:12px;cursor:pointer;border-radius:3px;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;transition:background .15s}.nice-desktop__taskbar-btn:hover{background:#ffffff26}.nice-desktop__taskbar-btn--active{background:#fff3}.nice-desktop__taskbar-btn--minimized{opacity:.6}.nice-desktop__taskbar-btn-badge{background:var(--nice-error, #ef4444);color:#fff;font-size:10px;padding:0 4px;border-radius:8px;min-width:16px;text-align:center}.nice-desktop__start{position:relative;flex-shrink:0}.nice-desktop__start-btn{display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--nice-primary, #3b82f6);border:none;color:#fff;font-size:13px;font-weight:600;cursor:pointer;border-radius:3px;transition:background .15s}.nice-desktop__start-btn:hover,.nice-desktop__start-btn--active{background:var(--nice-primary-dark, #2563eb)}.nice-desktop__start-menu{position:absolute;bottom:100%;left:0;min-width:240px;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;box-shadow:0 8px 24px #0003;z-index:1000;overflow:hidden}.nice-desktop__start-menu--top-start{top:100%;bottom:auto}.nice-desktop__start-menu--left-start{left:100%;bottom:auto;top:0}.nice-desktop__start-menu--right-start{right:100%;left:auto;bottom:auto;top:0}.nice-desktop__start-divider{height:1px;background:var(--nice-border, #e2e8f0);margin:4px 0}.nice-desktop__start-item{display:flex;align-items:center;gap:8px;padding:8px 16px;width:100%;background:transparent;border:none;color:var(--nice-text, #1e293b);font-size:13px;cursor:pointer;text-align:left;transition:background .1s}.nice-desktop__start-item:hover{background:var(--nice-primary, #3b82f6);color:#fff}.nice-desktop__start-item:disabled{opacity:.5;cursor:default}.nice-desktop__start-item-arrow{margin-left:auto;font-size:10px}.nice-desktop__start-item-wrap{position:relative}.nice-desktop__start-submenu{position:absolute;left:100%;top:0;min-width:200px;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;box-shadow:0 8px 24px #00000026;z-index:1001}.nice-desktop__tray{display:flex;align-items:center;gap:4px;flex-shrink:0;padding:0 8px}.nice-desktop__tray-item{background:transparent;border:none;color:#fff;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:3px;transition:background .15s}.nice-desktop__tray-item:hover{background:#ffffff26}.nice-desktop__tray-clock{font-size:12px;color:#ffffffe6;padding:0 4px}.nice-desktop__context-menu{background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;box-shadow:0 4px 16px #00000026;z-index:10000;min-width:180px;padding:4px 0}.nice-desktop__context-divider{height:1px;background:var(--nice-border, #e2e8f0);margin:4px 0}.nice-desktop__context-item{display:flex;align-items:center;gap:8px;padding:6px 16px;width:100%;background:transparent;border:none;color:var(--nice-text, #1e293b);font-size:13px;cursor:pointer;text-align:left}.nice-desktop__context-item:hover{background:var(--nice-primary, #3b82f6);color:#fff}.nice-desktop__context-item:disabled{opacity:.5;cursor:default}.nice-window{display:flex;flex-direction:column;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;box-shadow:0 4px 16px #0000001f;overflow:hidden;transition:box-shadow .2s}.nice-window--focused{box-shadow:0 8px 32px #0003;border-color:var(--nice-primary, #3b82f6)}.nice-window--pinned{border-color:var(--nice-warning, #f59e0b)}.nice-window--maximized{border-radius:0}.nice-window__titlebar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--nice-window-titlebar, #f1f5f9);border-bottom:1px solid var(--nice-border, #e2e8f0);cursor:default;-webkit-user-select:none;user-select:none;flex-shrink:0}.nice-window--focused .nice-window__titlebar{background:var(--nice-primary, #3b82f6);color:#fff}.nice-window__icon{font-size:14px;flex-shrink:0}.nice-window__title{flex:1;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nice-window__actions{display:flex;gap:2px;flex-shrink:0}.nice-window__action{width:28px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:inherit;font-size:12px;cursor:pointer;border-radius:3px;transition:background .15s}.nice-window__action:hover{background:#0000001a}.nice-window--focused .nice-window__action:hover{background:#fff3}.nice-window__action--close:hover{background:var(--nice-error, #ef4444)!important;color:#fff!important}.nice-window__action--active{background:#00000014}.nice-window--focused .nice-window__action--active{background:#ffffff26}.nice-window__body{flex:1;overflow:auto}.nice-window__footer{border-top:1px solid var(--nice-border, #e2e8f0);padding:6px 10px;flex-shrink:0}.nice-window__statusbar{border-top:1px solid var(--nice-border, #e2e8f0);padding:2px 10px;font-size:11px;color:var(--nice-text-muted, #94a3b8);flex-shrink:0}.nice-window__resize{position:absolute;z-index:2}.nice-window__resize--n{top:-3px;left:6px;right:6px;height:6px}.nice-window__resize--s{bottom:-3px;left:6px;right:6px;height:6px}.nice-window__resize--e{right:-3px;top:6px;bottom:6px;width:6px}.nice-window__resize--w{left:-3px;top:6px;bottom:6px;width:6px}.nice-window__resize--ne{top:-3px;right:-3px;width:12px;height:12px}.nice-window__resize--se{bottom:-3px;right:-3px;width:12px;height:12px}.nice-window__resize--sw{bottom:-3px;left:-3px;width:12px;height:12px}.nice-window__resize--nw{top:-3px;left:-3px;width:12px;height:12px}.nice-console{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;font-family:var(--nice-font, inherit)}.nice-console--dark{background:#1e1e1e;color:#d4d4d4}.nice-console--light{background:var(--nice-surface, #fff);color:var(--nice-text, #1e293b)}.nice-console__toolbar{padding:4px 8px;border-bottom:1px solid var(--nice-border, #333);flex-shrink:0}.nice-console--dark .nice-console__toolbar{border-color:#333}.nice-console__tabs{display:flex;gap:0;border-bottom:1px solid var(--nice-border, #333);flex-shrink:0;overflow-x:auto}.nice-console--dark .nice-console__tabs{border-color:#333;background:#252526}.nice-console__tab{display:flex;align-items:center;gap:2px;position:relative}.nice-console__tab-btn{padding:6px 14px;border:none;background:transparent;color:inherit;font-size:12px;cursor:pointer;white-space:nowrap;opacity:.7;transition:opacity .15s}.nice-console__tab-btn:hover,.nice-console__tab--active .nice-console__tab-btn{opacity:1}.nice-console--dark .nice-console__tab--active{background:#1e1e1e}.nice-console--light .nice-console__tab--active{background:var(--nice-surface, #fff)}.nice-console__tab--active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--nice-primary, #3b82f6)}.nice-console__tab-close{padding:2px 4px;border:none;background:transparent;color:inherit;font-size:10px;cursor:pointer;opacity:0;transition:opacity .15s;border-radius:3px}.nice-console__tab:hover .nice-console__tab-close{opacity:.6}.nice-console__tab-close:hover{opacity:1!important;background:#ffffff1a}.nice-console__main{display:flex;flex:1;overflow:hidden}.nice-console__side{border-right:1px solid var(--nice-border, #333);display:flex;flex-direction:column;overflow:hidden}.nice-console--dark .nice-console__side{background:#252526;border-color:#333}.nice-console__side-header{display:flex;justify-content:flex-end;padding:2px 4px}.nice-console__side-toggle{border:none;background:transparent;color:inherit;cursor:pointer;font-size:12px;padding:2px 6px;border-radius:3px;opacity:.6}.nice-console__side-toggle:hover{opacity:1;background:#ffffff1a}.nice-console__side-content{flex:1;overflow:auto;padding:4px}.nice-console__center{display:flex;flex-direction:column;flex:1;overflow:hidden}.nice-console__content{flex:1;overflow:auto}.nice-console__bottom{border-top:1px solid var(--nice-border, #333);display:flex;flex-direction:column;overflow:hidden}.nice-console--dark .nice-console__bottom{border-color:#333}.nice-console__bottom-header{display:flex;justify-content:flex-end;padding:2px 4px}.nice-console__bottom-toggle{border:none;background:transparent;color:inherit;cursor:pointer;font-size:12px;padding:2px 6px;border-radius:3px;opacity:.6}.nice-console__bottom-toggle:hover{opacity:1;background:#ffffff1a}.nice-console__bottom-content{flex:1;overflow:auto;padding:4px}.nice-console__statusbar{display:flex;justify-content:space-between;align-items:center;padding:0 8px;height:22px;font-size:11px;border-top:1px solid var(--nice-border, #333);flex-shrink:0}.nice-console--dark .nice-console__statusbar{background:#007acc;color:#fff;border-color:#007acc}.nice-console--light .nice-console__statusbar{background:var(--nice-primary, #3b82f6);color:#fff}.nice-console__statusbar-left,.nice-console__statusbar-right{display:flex;align-items:center;gap:8px}.nice-console__statusbar-btn{border:none;background:transparent;color:inherit;cursor:pointer;font-size:12px;padding:0 4px}.nice-console__statusbar-btn:hover{background:#ffffff26}.nice-console__status-item{cursor:default;padding:0 4px}.nice-console__status-item[role=button]{cursor:pointer}.nice-console__status-item[role=button]:hover{background:#ffffff26}.nice-console__palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998}.nice-console__palette{position:fixed;top:20%;left:50%;transform:translate(-50%);width:480px;max-width:90vw;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;box-shadow:0 8px 32px #00000040;z-index:9999;overflow:hidden}.nice-console--dark .nice-console__palette{background:#252526;border-color:#454545;color:#d4d4d4}.nice-console__palette-input{width:100%;padding:10px 14px;border:none;border-bottom:1px solid var(--nice-border, #e2e8f0);background:transparent;font-size:14px;color:inherit;outline:none}.nice-console__palette-list{max-height:300px;overflow-y:auto}.nice-console__palette-item{display:flex;align-items:center;gap:8px;padding:8px 14px;width:100%;border:none;background:transparent;color:inherit;font-size:13px;cursor:pointer;text-align:left}.nice-console__palette-item:hover{background:var(--nice-primary, #3b82f6);color:#fff}.nice-console__palette-item:disabled{opacity:.5;cursor:default}.nice-console__palette-desc{opacity:.6;margin-left:auto;font-size:11px}.nice-console__palette-shortcut{font-size:11px;padding:1px 6px;border:1px solid currentColor;border-radius:3px;opacity:.5;margin-left:auto}.nice-console__palette-empty{padding:16px;text-align:center;opacity:.5}.nice-fm{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:4px;font-family:var(--nice-font, inherit)}.nice-fm__panels{display:flex;flex:1;overflow:hidden}.nice-fm--single .nice-fm__panels{flex-direction:column}.nice-fm--dual .nice-fm__panels{flex-direction:row}.nice-fm__panel{flex:1;display:flex;flex-direction:column;overflow:hidden;outline:none}.nice-fm__panel--active{background:var(--nice-surface, #fff)}.nice-fm--dual .nice-fm__panel:not(.nice-fm__panel--active){background:var(--nice-muted, #f8fafc)}.nice-fm__divider{width:3px;background:var(--nice-border, #e2e8f0);cursor:col-resize;flex-shrink:0}.nice-fm__breadcrumb{display:flex;align-items:center;gap:2px;padding:4px 8px;font-size:12px;border-bottom:1px solid var(--nice-border, #e2e8f0);background:var(--nice-muted, #f8fafc);overflow:hidden;flex-shrink:0}.nice-fm__breadcrumb-item{border:none;background:transparent;color:var(--nice-primary, #3b82f6);cursor:pointer;padding:2px 4px;border-radius:3px;font-size:12px}.nice-fm__breadcrumb-item:hover{background:#3b82f61a}.nice-fm__breadcrumb-sep{color:var(--nice-text-muted, #94a3b8)}.nice-fm__filter{display:flex;align-items:center;padding:4px 8px;border-bottom:1px solid var(--nice-border, #e2e8f0);flex-shrink:0}.nice-fm__filter-input{flex:1;border:1px solid var(--nice-border, #e2e8f0);border-radius:3px;padding:3px 8px;font-size:12px;outline:none;background:var(--nice-surface, #fff);color:inherit}.nice-fm__filter-input:focus{border-color:var(--nice-primary, #3b82f6)}.nice-fm__filter-clear{border:none;background:transparent;cursor:pointer;font-size:12px;padding:2px 6px}.nice-fm__rows{flex:1;overflow-y:auto;overflow-x:hidden}.nice-fm__row{display:flex;align-items:center;padding:2px 8px;font-size:12px;cursor:default;border-bottom:1px solid transparent}.nice-fm__row--header{font-weight:600;border-bottom:1px solid var(--nice-border, #e2e8f0);background:var(--nice-muted, #f8fafc);position:sticky;top:0;z-index:1;cursor:pointer}.nice-fm__row--header:hover{background:var(--nice-border, #e2e8f0)}.nice-fm__row--up{color:var(--nice-primary, #3b82f6);cursor:pointer}.nice-fm__row--up:hover{background:#3b82f60f}.nice-fm__row--cursor{outline:1px dotted var(--nice-primary, #3b82f6);outline-offset:-1px}.nice-fm__row--selected{background:var(--nice-primary, #3b82f6);color:#fff}.nice-fm__row:not(.nice-fm__row--header):not(.nice-fm__row--selected):hover{background:var(--nice-hover, #f1f5f9)}.nice-fm__col{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 4px}.nice-fm__col--name{flex:1;display:flex;align-items:center;gap:4px;min-width:0}.nice-fm__col--ext{width:60px;flex-shrink:0}.nice-fm__col--size{width:80px;flex-shrink:0;text-align:right}.nice-fm__col--date{width:90px;flex-shrink:0;text-align:right}.nice-fm__file-icon{flex-shrink:0}.nice-fm__file-name{overflow:hidden;text-overflow:ellipsis}.nice-fm__rename-input{border:1px solid var(--nice-primary, #3b82f6);border-radius:2px;padding:1px 4px;font-size:12px;outline:none;flex:1;min-width:0}.nice-fm__thumbs{display:flex;flex-wrap:wrap;gap:8px;padding:12px;flex:1;overflow-y:auto;align-content:start}.nice-fm__thumb{display:flex;flex-direction:column;align-items:center;width:80px;padding:8px 4px;border-radius:4px;cursor:default;-webkit-user-select:none;user-select:none}.nice-fm__thumb:hover{background:var(--nice-hover, #f1f5f9)}.nice-fm__thumb--selected{background:var(--nice-primary, #3b82f6);color:#fff}.nice-fm__thumb--cursor{outline:1px dotted var(--nice-primary, #3b82f6);outline-offset:-1px}.nice-fm__thumb--up{cursor:pointer}.nice-fm__thumb-icon{font-size:28px;line-height:1}.nice-fm__thumb-name{font-size:11px;text-align:center;word-break:break-word;margin-top:4px}.nice-fm__panel-status{padding:2px 8px;font-size:11px;color:var(--nice-text-muted, #94a3b8);border-top:1px solid var(--nice-border, #e2e8f0);flex-shrink:0}.nice-fm__fn-toolbar{display:flex;border-top:1px solid var(--nice-border, #e2e8f0);flex-shrink:0;background:var(--nice-muted, #f8fafc)}.nice-fm__fn-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 2px;border:none;border-right:1px solid var(--nice-border, #e2e8f0);background:transparent;color:var(--nice-text, #1e293b);font-size:11px;cursor:pointer;transition:background .15s}.nice-fm__fn-btn:last-child{border-right:none}.nice-fm__fn-btn:hover:not(:disabled){background:var(--nice-primary, #3b82f6);color:#fff}.nice-fm__fn-btn:disabled{opacity:.4;cursor:default}.nice-fm__fn-key{font-weight:700}.nice-dark .nice-fm,[data-theme=dark] .nice-fm{background:#1e1e1e;border-color:#333;color:#d4d4d4}.nice-dark .nice-fm__breadcrumb,[data-theme=dark] .nice-fm__breadcrumb,.nice-dark .nice-fm__row--header,[data-theme=dark] .nice-fm__row--header,.nice-dark .nice-fm__fn-toolbar,[data-theme=dark] .nice-fm__fn-toolbar{background:#252526;border-color:#333}.nice-dark .nice-fm__fn-btn,[data-theme=dark] .nice-fm__fn-btn{color:#d4d4d4;border-color:#333}.nice-dark .nice-fm__divider,[data-theme=dark] .nice-fm__divider{background:#333}.nice-dark .nice-fm__panel-status,[data-theme=dark] .nice-fm__panel-status{border-color:#333}.nice-dark .nice-fm__row:not(.nice-fm__row--header):not(.nice-fm__row--selected):hover,[data-theme=dark] .nice-fm__row:not(.nice-fm__row--header):not(.nice-fm__row--selected):hover{background:#2a2d2e}.nice-dark .nice-desktop__start-menu,[data-theme=dark] .nice-desktop__start-menu{background:#1e1e1e;border-color:#333}.nice-dark .nice-desktop__start-item,[data-theme=dark] .nice-desktop__start-item{color:#d4d4d4}.nice-dark .nice-desktop__context-menu,[data-theme=dark] .nice-desktop__context-menu{background:#1e1e1e;border-color:#333}.nice-dark .nice-desktop__context-item,[data-theme=dark] .nice-desktop__context-item{color:#d4d4d4}.nice-dark .nice-window,[data-theme=dark] .nice-window{background:#1e1e1e;border-color:#333;color:#d4d4d4}.nice-dark .nice-window__titlebar,[data-theme=dark] .nice-window__titlebar{background:#2d2d2d;border-color:#333}.nice-dark .nice-window__footer,[data-theme=dark] .nice-window__footer,.nice-dark .nice-window__statusbar,[data-theme=dark] .nice-window__statusbar{border-color:#333}.nice-focus-always:focus{outline:2px solid var(--nice-primary, #3b82f6);outline-offset:2px}@media(prefers-reduced-motion:reduce){.nice-animate,[class*=nice-]{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}[dir=rtl] .nice-form__label{text-align:right}[dir=rtl] .nice-breadcrumb__separator,[dir=rtl] .nice-menu__arrow,[dir=rtl] .nice-tree__toggle{transform:scaleX(-1)}[dir=rtl] .nice-toolbar{direction:rtl}[dir=rtl] .nice-splitter--horizontal>.nice-splitter__handle{cursor:ew-resize}[dir=rtl] .nice-drawer--left{left:auto;right:0}[dir=rtl] .nice-drawer--right{right:auto;left:0}[dir=rtl] .nice-tabs__list,[dir=rtl] .nice-pagination{direction:rtl}[dir=rtl] .nice-dock--left{left:auto;right:8px}[dir=rtl] .nice-dock--right{right:auto;left:8px}[dir=rtl] .nice-doc-editor__block-handle{order:1}[dir=rtl] .nice-doc-editor__content{order:0}@keyframes nice-fade-in{0%{opacity:0}to{opacity:1}}@keyframes nice-fade-out{0%{opacity:1}to{opacity:0}}@keyframes nice-slide-up-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes nice-slide-up-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}@keyframes nice-slide-down-in{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes nice-slide-down-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}@keyframes nice-slide-left-in{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes nice-slide-left-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-16px)}}@keyframes nice-slide-right-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes nice-slide-right-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(16px)}}@keyframes nice-scale-up-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes nice-scale-up-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes nice-scale-down-in{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes nice-scale-down-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}@keyframes nice-zoom-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes nice-zoom-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}@keyframes nice-flip-in{0%{opacity:0;transform:perspective(400px) rotateY(90deg)}to{opacity:1;transform:perspective(400px) rotateY(0)}}@keyframes nice-flip-out{0%{opacity:1;transform:perspective(400px) rotateY(0)}to{opacity:0;transform:perspective(400px) rotateY(90deg)}}.nice-anim-fade-enter{animation:nice-fade-in var(--nice-transition, .2s ease) forwards}.nice-anim-fade-exit{animation:nice-fade-out var(--nice-transition, .2s ease) forwards}.nice-anim-slide-up-enter{animation:nice-slide-up-in var(--nice-transition, .2s ease) forwards}.nice-anim-slide-up-exit{animation:nice-slide-up-out var(--nice-transition, .2s ease) forwards}.nice-anim-slide-down-enter{animation:nice-slide-down-in var(--nice-transition, .2s ease) forwards}.nice-anim-slide-down-exit{animation:nice-slide-down-out var(--nice-transition, .2s ease) forwards}.nice-anim-slide-left-enter{animation:nice-slide-left-in var(--nice-transition, .2s ease) forwards}.nice-anim-slide-left-exit{animation:nice-slide-left-out var(--nice-transition, .2s ease) forwards}.nice-anim-slide-right-enter{animation:nice-slide-right-in var(--nice-transition, .2s ease) forwards}.nice-anim-slide-right-exit{animation:nice-slide-right-out var(--nice-transition, .2s ease) forwards}.nice-anim-scale-up-enter{animation:nice-scale-up-in var(--nice-transition, .2s ease) forwards}.nice-anim-scale-up-exit{animation:nice-scale-up-out var(--nice-transition, .2s ease) forwards}.nice-anim-scale-down-enter{animation:nice-scale-down-in var(--nice-transition, .2s ease) forwards}.nice-anim-scale-down-exit{animation:nice-scale-down-out var(--nice-transition, .2s ease) forwards}.nice-anim-zoom-enter{animation:nice-zoom-in var(--nice-transition, .2s ease) forwards}.nice-anim-zoom-exit{animation:nice-zoom-out var(--nice-transition, .2s ease) forwards}.nice-anim-flip-enter{animation:nice-flip-in var(--nice-transition-slow, .3s ease) forwards}.nice-anim-flip-exit{animation:nice-flip-out var(--nice-transition-slow, .3s ease) forwards}.nice-anim-active{animation:none;opacity:1;transform:none}.nice-hide{display:none!important}.nice-show{display:revert!important}@media(max-width:575.98px){.nice-hide-xs{display:none!important}}@media(min-width:576px)and (max-width:767.98px){.nice-hide-sm{display:none!important}}@media(max-width:767.98px){.nice-hide-mobile{display:none!important}}@media(min-width:768px)and (max-width:991.98px){.nice-hide-md{display:none!important}}@media(min-width:992px){.nice-show-desktop-only{display:revert!important}}@media(max-width:991.98px){.nice-hide-below-lg,.nice-show-desktop-only{display:none!important}}@media(min-width:1200px){.nice-hide-xl{display:none!important}}.nice-responsive-stack{display:flex;flex-direction:column;gap:var(--nice-space-4, 16px)}@media(min-width:768px){.nice-responsive-stack{flex-direction:row}}.nice-container{width:100%;margin-inline:auto;padding-inline:var(--nice-space-4, 16px)}@media(min-width:576px){.nice-container{max-width:540px}}@media(min-width:768px){.nice-container{max-width:720px}}@media(min-width:992px){.nice-container{max-width:960px}}@media(min-width:1200px){.nice-container{max-width:1140px}}@media(min-width:1400px){.nice-container{max-width:1320px}}.nice-container-fluid{width:100%;padding-inline:var(--nice-space-4, 16px)}.nice-theme-builder{display:flex;flex-direction:column;border:1px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-md, 6px);background:var(--nice-bg, #fff);overflow:hidden}.nice-theme-builder__header{padding:12px 16px;border-bottom:1px solid var(--nice-border, #e2e8f0);display:flex;flex-direction:column;gap:8px}.nice-theme-builder__name-row{display:flex;align-items:center;gap:8px}.nice-theme-builder__label{font-size:13px;font-weight:500;color:var(--nice-text-secondary, #6b7280);white-space:nowrap}.nice-theme-builder__input{flex:1;padding:4px 8px;border:1px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-sm, 4px);font:inherit;font-size:13px;background:var(--nice-bg, #fff);color:var(--nice-text, #1f2937);outline:none}.nice-theme-builder__input:focus{border-color:var(--nice-primary, #3b82f6)}.nice-theme-builder__presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nice-theme-builder__preset-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg, #fff);cursor:pointer;padding:4px 10px;border-radius:9999px;font-size:12px}.nice-theme-builder__preset-btn:hover{background:var(--nice-bg-tertiary, #f3f4f6)}.nice-theme-builder__preset-btn--active{border-color:var(--nice-primary, #3b82f6);background:var(--nice-primary-bg, #eff6ff)}.nice-theme-builder__preset-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.nice-theme-builder__tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg-secondary, #f9fafb)}.nice-theme-builder__tab{border:none;background:none;cursor:pointer;padding:8px 14px;font-size:12px;font-weight:500;color:var(--nice-text-secondary, #6b7280);border-bottom:2px solid transparent;white-space:nowrap}.nice-theme-builder__tab:hover{color:var(--nice-text, #1f2937)}.nice-theme-builder__tab--active{color:var(--nice-primary, #3b82f6);border-bottom-color:var(--nice-primary, #3b82f6)}.nice-theme-builder__body{padding:16px}.nice-theme-builder__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.nice-theme-builder__field{display:flex;flex-direction:column;gap:4px}.nice-theme-builder__color-row{display:flex;align-items:center;gap:6px}.nice-theme-builder__color-swatch{width:32px;height:32px;border:1px solid var(--nice-border, #e2e8f0);border-radius:4px;padding:2px;cursor:pointer}.nice-theme-builder__color-text{flex:1;padding:4px 8px;border:1px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-sm, 4px);font-family:monospace;font-size:12px}.nice-theme-builder__preview{border-top:1px solid var(--nice-border, #e2e8f0)}.nice-theme-builder__preview-toggle{padding:8px 16px;cursor:pointer;font-size:13px;font-weight:500;color:var(--nice-text-secondary, #6b7280)}.nice-theme-builder__preview-code{margin:0;padding:12px 16px;font-family:monospace;font-size:12px;background:var(--nice-bg-secondary, #f9fafb);overflow-x:auto;max-height:300px;overflow-y:auto}.nice-theme-builder__actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--nice-border, #e2e8f0)}.nice-theme-builder__btn{border:1px solid var(--nice-border, #e2e8f0);background:var(--nice-bg, #fff);cursor:pointer;padding:6px 14px;border-radius:var(--nice-radius-sm, 4px);font:inherit;font-size:13px}.nice-theme-builder__btn:hover{background:var(--nice-bg-tertiary, #f3f4f6)}.nice-theme-builder__btn--apply{background:var(--nice-primary, #3b82f6);color:#fff;border-color:var(--nice-primary, #3b82f6)}.nice-theme-builder__btn--export{background:var(--nice-bg-secondary, #f9fafb)}@media(pointer:coarse){.nice-btn--xs,.nice-btn--sm{min-height:44px;min-width:44px;padding:10px 16px}.nice-btn--md{min-height:44px}.nice-icon-btn{min-width:44px;min-height:44px}.nice-input--xs,.nice-input--sm{min-height:44px;padding:10px 12px}.nice-input,.nice-select__trigger{min-height:44px}.nice-checkbox__box{min-width:24px;min-height:24px}.nice-toggle__track{min-height:28px;min-width:52px}.nice-radio__circle{min-width:24px;min-height:24px}.nice-slider__thumb,.nice-range-slider__thumb{width:28px;height:28px}.nice-tabs__tab{min-height:44px;padding:10px 16px}.nice-accordion__header{min-height:48px}.nice-pagination__btn{min-width:44px;min-height:44px}.nice-menu__item{min-height:44px;padding:10px 16px}.nice-toolbar__item{min-height:44px}.nice-breadcrumb__link{min-height:44px;display:inline-flex;align-items:center}.nice-list__item{min-height:48px}.nice-data-grid__cell,.nice-tree-view__node{min-height:44px}.nice-tag{min-height:32px}.nice-tag__remove{min-width:28px;min-height:28px}.nice-splitter__handle{min-width:12px;min-height:12px}.nice-knob{touch-action:none}}.nice-palette{display:flex;flex-direction:column;gap:12px;font-family:var(--nice-font-family)}.nice-palette--disabled{opacity:.5;pointer-events:none}.nice-palette__label{font-weight:600;font-size:14px;color:var(--nice-text, #1f2937)}.nice-palette__section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--nice-text-secondary, #6b7280);margin-bottom:6px}.nice-palette__harmony-row{display:flex;flex-wrap:wrap;gap:4px}.nice-palette__harmony-btn{padding:4px 10px;border:1px solid var(--nice-border, #e2e8f0);border-radius:4px;background:var(--nice-bg, #fff);color:var(--nice-text, #1f2937);font-size:12px;cursor:pointer;transition:all .15s}.nice-palette__harmony-btn:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-palette__harmony-btn--active{background:var(--nice-primary, #3b82f6);color:#fff;border-color:var(--nice-primary, #3b82f6)}.nice-palette__wheel-row{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.nice-palette__wheel svg{cursor:crosshair}.nice-palette__strips{display:flex;flex-direction:column;gap:8px}.nice-palette__strip{display:flex;flex-direction:column;gap:2px}.nice-palette__strip-label{font-size:11px;color:var(--nice-text-secondary, #6b7280)}.nice-palette__strip-colors{display:flex;gap:3px;align-items:center}.nice-palette__strip-color{width:36px;height:36px;border-radius:4px;cursor:pointer;border:2px solid transparent;transition:border-color .15s,transform .15s}.nice-palette__strip-color:hover{transform:scale(1.12)}.nice-palette__strip-color--selected{border-color:var(--nice-text, #1f2937);box-shadow:0 0 0 2px var(--nice-bg, #fff)}.nice-palette__strip-add{width:28px;height:28px;border-radius:4px;border:1px dashed var(--nice-border, #e2e8f0);background:transparent;cursor:pointer;font-size:16px;color:var(--nice-text-secondary, #6b7280);display:flex;align-items:center;justify-content:center}.nice-palette__strip-del{width:20px;height:20px;border:none;background:var(--nice-danger, #ef4444);color:#fff;border-radius:50%;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.nice-palette__variations .nice-palette__strip-colors{gap:1px}.nice-palette__variations .nice-palette__strip-color{width:28px;height:28px;border-radius:2px}.nice-palette__preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.nice-palette__preset-card{display:flex;flex-direction:column;gap:4px;cursor:pointer;border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;padding:6px;background:var(--nice-bg, #fff);transition:border-color .15s}.nice-palette__preset-card:hover{border-color:var(--nice-primary, #3b82f6)}.nice-palette__preset-card--active{border-color:var(--nice-primary, #3b82f6);box-shadow:0 0 0 1px var(--nice-primary, #3b82f6)}.nice-palette__preset-preview{display:flex;height:20px;border-radius:3px;overflow:hidden}.nice-palette__preset-preview>div{flex:1}.nice-palette__preset-name{font-size:10px;text-align:center;color:var(--nice-text-secondary, #6b7280)}.nice-palette__info{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;font-size:12px;font-family:monospace;color:var(--nice-text, #1f2937)}.nice-palette__info dt{font-weight:600;color:var(--nice-text-secondary, #6b7280)}.nice-palette__contrast-grid{display:flex;flex-direction:column;gap:4px;font-size:12px}.nice-palette__contrast-row{display:flex;align-items:center;gap:8px}.nice-palette__contrast-swatch{width:18px;height:18px;border-radius:3px;border:1px solid var(--nice-border, #e2e8f0);flex-shrink:0}.nice-palette__contrast-level{font-weight:600;min-width:44px;padding:1px 4px;border-radius:3px;text-align:center;font-size:11px}.nice-palette__contrast-level--aaa{background:#16a34a;color:#fff}.nice-palette__contrast-level--aa{background:#2563eb;color:#fff}.nice-palette__contrast-level--aa-lg{background:#d97706;color:#fff}.nice-palette__contrast-level--fail{background:#dc2626;color:#fff}.nice-palette__random-btn{align-self:flex-start}.nice-gradient{display:flex;flex-direction:column;gap:12px;font-family:var(--nice-font-family)}.nice-gradient--disabled{opacity:.5;pointer-events:none}.nice-gradient__label{font-weight:600;font-size:14px;color:var(--nice-text, #1f2937)}.nice-gradient__section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--nice-text-secondary, #6b7280);margin-bottom:6px}.nice-gradient__preview{height:120px;border-radius:8px;border:1px solid var(--nice-border, #e2e8f0)}.nice-gradient__type-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nice-gradient__type-btn{padding:5px 14px;border:1px solid var(--nice-border, #e2e8f0);border-radius:4px;background:var(--nice-bg, #fff);color:var(--nice-text, #1f2937);font-size:13px;cursor:pointer;transition:all .15s}.nice-gradient__type-btn:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-gradient__type-btn--active{background:var(--nice-primary, #3b82f6);color:#fff;border-color:var(--nice-primary, #3b82f6)}.nice-gradient__repeat-label{display:flex;align-items:center;gap:4px;font-size:13px;cursor:pointer;margin-left:8px;color:var(--nice-text, #1f2937)}.nice-gradient__controls{display:flex;flex-direction:column;gap:10px}.nice-gradient__control-group{display:flex;flex-direction:column;gap:4px}.nice-gradient__control-group label{font-size:12px;font-weight:500;color:var(--nice-text-secondary, #6b7280)}.nice-gradient__slider{width:100%;accent-color:var(--nice-primary, #3b82f6)}.nice-gradient__center-inputs{display:flex;gap:8px}.nice-gradient__center-inputs input{flex:1}.nice-gradient__angle-presets{display:flex;gap:4px}.nice-gradient__angle-btn{width:28px;height:28px;border:1px solid var(--nice-border, #e2e8f0);border-radius:4px;background:var(--nice-bg, #fff);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s;color:var(--nice-text, #1f2937)}.nice-gradient__angle-btn:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-gradient__angle-btn--active{background:var(--nice-primary, #3b82f6);color:#fff;border-color:var(--nice-primary, #3b82f6)}.nice-gradient__shape-btns{display:flex;gap:4px}.nice-gradient__shape-btn{padding:4px 12px;border:1px solid var(--nice-border, #e2e8f0);border-radius:4px;background:var(--nice-bg, #fff);color:var(--nice-text, #1f2937);font-size:12px;cursor:pointer;transition:all .15s;text-transform:capitalize}.nice-gradient__shape-btn:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-gradient__shape-btn--active{background:var(--nice-primary, #3b82f6);color:#fff;border-color:var(--nice-primary, #3b82f6)}.nice-gradient__bar-container{display:flex;align-items:center;gap:6px}.nice-gradient__bar{position:relative;flex:1;height:24px;border-radius:4px;border:1px solid var(--nice-border, #e2e8f0);cursor:crosshair}.nice-gradient__stop-marker{position:absolute;top:-4px;transform:translate(-50%);cursor:pointer}.nice-gradient__stop-dot{width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--nice-border, #e2e8f0),0 1px 3px #0003;transition:transform .15s}.nice-gradient__stop-marker--active .nice-gradient__stop-dot{transform:scale(1.25);border-color:var(--nice-primary, #3b82f6)}.nice-gradient__add-stop{width:24px;height:24px;border:1px dashed var(--nice-border, #e2e8f0);border-radius:4px;background:transparent;cursor:pointer;font-size:16px;color:var(--nice-text-secondary, #6b7280);display:flex;align-items:center;justify-content:center}.nice-gradient__stop-editor{border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;padding:8px}.nice-gradient__stop-list{display:flex;flex-direction:column;gap:4px}.nice-gradient__stop-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;cursor:pointer;transition:background .15s}.nice-gradient__stop-row:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-gradient__stop-row--active{background:var(--nice-primary-light, #eff6ff)}.nice-gradient__stop-color{width:28px;height:28px;border:1px solid var(--nice-border, #e2e8f0);border-radius:4px;cursor:pointer;padding:0}.nice-gradient__stop-hex{width:80px;padding:3px 6px;border:1px solid var(--nice-border, #e2e8f0);border-radius:3px;font-family:monospace;font-size:12px;background:var(--nice-bg, #fff);color:var(--nice-text, #1f2937)}.nice-gradient__stop-pos{width:50px;padding:3px 6px;border:1px solid var(--nice-border, #e2e8f0);border-radius:3px;font-family:monospace;font-size:12px;text-align:right;background:var(--nice-bg, #fff);color:var(--nice-text, #1f2937)}.nice-gradient__stop-pct{font-size:12px;color:var(--nice-text-secondary, #6b7280)}.nice-gradient__stop-del{width:20px;height:20px;border:none;background:var(--nice-danger, #ef4444);color:#fff;border-radius:50%;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;margin-left:auto}.nice-gradient__random-btn{align-self:flex-start}.nice-gradient__presets{display:flex;flex-direction:column;gap:6px}.nice-gradient__preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.nice-gradient__preset-card{display:flex;flex-direction:column;gap:4px;cursor:pointer;border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;padding:6px;background:var(--nice-bg, #fff);transition:border-color .15s}.nice-gradient__preset-card:hover{border-color:var(--nice-primary, #3b82f6)}.nice-gradient__preset-preview{height:32px;border-radius:3px}.nice-gradient__preset-name{font-size:10px;text-align:center;color:var(--nice-text-secondary, #6b7280)}.nice-gradient__css{display:flex;flex-direction:column;gap:6px}.nice-gradient__css-output{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--nice-bg-secondary, #f9fafb);border:1px solid var(--nice-border, #e2e8f0);border-radius:6px;overflow-x:auto}.nice-gradient__css-output code{font-size:12px;font-family:monospace;white-space:nowrap;color:var(--nice-text, #1f2937);flex:1}.nice-gradient__copy-btn{border:none;background:transparent;cursor:pointer;font-size:16px;padding:2px 4px;border-radius:3px;transition:background .15s}.nice-gradient__copy-btn:hover{background:var(--nice-bg-hover, #f3f4f6)}.nice-gradient__css-import{display:flex;gap:6px}.nice-gradient__css-input{flex:1;padding:6px 10px;border:1px solid var(--nice-border, #e2e8f0);border-radius:4px;font-size:12px;font-family:monospace;background:var(--nice-bg, #fff);color:var(--nice-text, #1f2937)}.nice-slider,.nice-range-slider{touch-action:none}.nice-scroll-view,.nice-data-grid__body,.nice-list__container{-webkit-overflow-scrolling:touch}.nice-draggable,.nice-sortable__item{-webkit-user-select:none;user-select:none}.nice-modal__close,.nice-drawer__close{min-width:44px;min-height:44px;font-size:20px}.nice-stepper__step{min-height:44px}.nice-number-input__btn{min-width:44px;min-height:44px}} @media (hover: none){.nice-btn:hover{background:unset;color:unset}.nice-btn--primary:hover{background:var(--nice-primary, #3b82f6)}.nice-btn--secondary:hover{background:var(--nice-bg-secondary, #f0f0f0)}.nice-btn--ghost:hover,.nice-btn--outline:hover{background:transparent}.nice-input:hover,.nice-select__trigger:hover{border-color:var(--nice-border, #e2e8f0)}.nice-list__item:hover,.nice-data-grid__row:hover,.nice-menu__item:hover,.nice-tree-view__node:hover{background:unset}.nice-card:hover{box-shadow:unset}.nice-tag:hover{opacity:1}.nice-btn:active{opacity:.8;transform:scale(.97)}.nice-list__item:active,.nice-data-grid__row:active,.nice-menu__item:active{background:var(--nice-hover-bg, #f5f5f5)}.nice-card:active{opacity:.95}.nice-icon-btn:active{opacity:.7}.nice-tabs__tab:active{opacity:.8}}.nice-splitter__handle,.nice-resizable__handle,.nice-window__titlebar,.nice-window__resize-handle,.nice-gantt__bar,.nice-diagram__node,.nice-signature-pad,.nice-map{touch-action:none}.nice-carousel__viewport{touch-action:pan-y}.nice-scroll-view{touch-action:pan-x pan-y}@media(max-width:767.98px){.nice-form__grid{grid-template-columns:1fr!important}.nice-form__group{grid-column:span 1!important}.nice-modal__content{width:100vw!important;max-width:100vw!important;max-height:100vh;border-radius:0;margin:0}.nice-drawer__panel{max-width:100vw!important}.nice-toolbar{flex-wrap:wrap}.nice-chart{padding:4px}.nice-scheduler{font-size:13px}.nice-scheduler__event{font-size:11px;padding:2px 4px}.nice-data-grid{overflow-x:auto;-webkit-overflow-scrolling:touch}.nice-data-grid__table{min-width:600px}.nice-pivot-grid,.nice-gantt{overflow-x:auto;-webkit-overflow-scrolling:touch}.nice-splitter--horizontal{flex-direction:column!important}.nice-splitter--horizontal>.nice-splitter__pane{width:100%!important;max-width:100%!important}.nice-splitter--horizontal>.nice-splitter__handle{width:100%!important;height:8px!important;cursor:row-resize!important}.nice-dashboard-layout__grid{grid-template-columns:1fr!important}.nice-picklist{flex-direction:column}.nice-picklist__controls{flex-direction:row}.nice-filemanager__panels{flex-direction:column!important}.nice-filemanager__panel{width:100%!important}.nice-megamenu__panel{width:100vw!important;left:0!important}.nice-orgchart{overflow-x:auto;-webkit-overflow-scrolling:touch}.nice-cardview{grid-template-columns:1fr!important}.nice-tileview{grid-template-columns:repeat(2,1fr)!important}.nice-actionsheet__content{width:100%;max-width:100%;border-radius:var(--nice-radius-lg) var(--nice-radius-lg) 0 0}.nice-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:1000}.nice-theme-builder__grid,.nice-theme-designer__grid{grid-template-columns:1fr!important}.nice-console__side-panel{position:absolute;z-index:10}.nice-desktop__grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.nice-desktop__icon{font-size:11px}}@media(max-width:575.98px){.nice-card,.nice-section{padding:12px}.nice-breadcrumb{font-size:12px}.nice-breadcrumb__item{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nice-tabs__list{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.nice-tabs__tab{white-space:nowrap;flex-shrink:0}.nice-tagbox__tag{font-size:11px;padding:2px 6px}.nice-filter-builder__row{flex-direction:column;align-items:stretch}.nice-filter-builder__field,.nice-filter-builder__operator,.nice-filter-builder__value{width:100%}.nice-tileview{grid-template-columns:1fr!important}.nice-showcase__header{flex-direction:column;gap:8px;text-align:center}}@media(min-width:768px){.nice-popover{max-width:400px}.nice-form__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:992px){.nice-form__grid--3col{grid-template-columns:repeat(3,1fr)}}@media print{.nice-btn,.nice-toolbar,.nice-bottom-nav,.nice-speed-dial,.nice-toast-container,.nice-modal__overlay,.nice-drawer__overlay,.nice-load-panel,.nice-cookie-consent{display:none!important}.nice-data-grid{overflow:visible!important}.nice-data-grid__table{min-width:unset!important}.nice-card,.nice-chart,.nice-gauge{break-inside:avoid}}.nice-swipeable{position:relative;overflow:hidden;touch-action:pan-y}.nice-swipeable__content{position:relative;z-index:1;background:var(--nice-bg, #fff);will-change:transform}.nice-swipeable__actions{position:absolute;top:0;bottom:0;display:flex}.nice-swipeable__actions--left{left:0;justify-content:flex-start}.nice-swipeable__actions--right{right:0;justify-content:flex-end}.nice-swipeable__action{display:flex;align-items:center;justify-content:center;min-width:80px;border:none;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:0 16px;transition:background .15s}.nice-swipeable__action:hover{filter:brightness(1.1)}.nice-swipeable__action:active{filter:brightness(.95)}.nice-swipeable__action--delete{background:var(--nice-danger, #ef4444)}.nice-swipeable__action--archive{background:var(--nice-warning, #f59e0b)}.nice-swipeable__action--edit{background:var(--nice-primary, #3b82f6)}.nice-swipeable__action--share{background:var(--nice-info, #06b6d4)}.nice-swipeable__action--favorite{background:var(--nice-success, #22c55e)}.nice-pull-refresh{position:relative;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.nice-pull-refresh__indicator{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center;align-items:center;overflow:hidden;color:var(--nice-text-secondary, #6b7280)}.nice-pull-refresh__arrow{transition:transform .2s ease}.nice-pull-refresh__arrow svg{stroke:var(--nice-text-secondary, #6b7280)}.nice-pull-refresh__content{will-change:transform}.nice-pull-refresh--pulling .nice-pull-refresh__content{transition:none}.nice-pull-refresh--releasing .nice-pull-refresh__content,.nice-pull-refresh--refreshing .nice-pull-refresh__content{transition:transform .2s ease-out}@keyframes nice-spin{to{transform:rotate(360deg)}}.nice-spinner{width:24px;height:24px;border:2px solid var(--nice-border, #e2e8f0);border-top-color:var(--nice-primary, #3b82f6);border-radius:50%;animation:nice-spin .8s linear infinite}.nice-spinner--sm{width:16px;height:16px;border-width:1.5px}.nice-spinner--lg{width:32px;height:32px;border-width:3px}.nice-touch-target{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.nice-touch-target:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:currentColor;opacity:0;pointer-events:none;transition:opacity .15s}.nice-touch-target:active:after{opacity:.1}@media(pointer:coarse){.nice-btn,.nice-icon-btn{min-height:44px;min-width:44px}.nice-select__trigger,.nice-dropdown__trigger{min-height:44px}.nice-list__item,.nice-treeview__node-content{min-height:48px}.nice-tab{min-height:44px;padding:10px 16px}}.nice-bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--nice-bg, #fff);border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #00000026;transform:translateY(100%);transition:transform .3s ease-out;max-height:90vh;overflow:hidden}.nice-bottom-sheet--open{transform:translateY(0)}.nice-bottom-sheet__handle{display:flex;justify-content:center;padding:12px;cursor:grab}.nice-bottom-sheet__handle:before{content:"";width:40px;height:4px;background:var(--nice-border, #e2e8f0);border-radius:2px}.nice-bottom-sheet__content{overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc(90vh - 40px);padding:0 16px 16px}.nice-bottom-sheet__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#0006;opacity:0;transition:opacity .3s;pointer-events:none}.nice-bottom-sheet__overlay--visible{opacity:1;pointer-events:auto}@media(max-width:767px){.nice-input,.nice-textarea,.nice-select__trigger{font-size:16px;padding:12px 14px}.nice-btn--mobile-full{width:100%;justify-content:center}.nice-form-field--mobile-stack{flex-direction:column}.nice-form-field--mobile-stack .nice-form-field__label{margin-bottom:4px;margin-right:0}.nice-fab{bottom:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}.nice-bottom-nav,.nice-bottom-sheet{padding-bottom:env(safe-area-inset-bottom)}}@keyframes nice-ripple{to{transform:scale(4);opacity:0}}.nice-ripple{position:relative;overflow:hidden}.nice-ripple__effect{position:absolute;border-radius:50%;background:currentColor;opacity:.15;transform:scale(0);animation:nice-ripple .6s linear;pointer-events:none}.nice-gesture-indicator{position:fixed;z-index:9999;pointer-events:none}.nice-gesture-indicator--swipe{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#000000b3;color:#fff;border-radius:20px;font-size:14px}.nice-gesture-indicator--pinch{width:64px;height:64px;border:2px dashed rgba(59,130,246,.6);border-radius:50%;background:#3b82f61a}.nice-action-sheet{position:fixed;bottom:0;left:0;right:0;z-index:1100;padding:8px;padding-bottom:max(8px,env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .3s ease-out}.nice-action-sheet--open{transform:translateY(0)}.nice-action-sheet__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1099;background:#0006;opacity:0;transition:opacity .3s;pointer-events:none}.nice-action-sheet__overlay--visible{opacity:1;pointer-events:auto}.nice-action-sheet__group{background:var(--nice-bg, #fff);border-radius:14px;overflow:hidden;margin-bottom:8px}.nice-action-sheet__group--cancel{margin-bottom:0}.nice-action-sheet__header{padding:16px;text-align:center;border-bottom:1px solid var(--nice-border-light, #f3f4f6)}.nice-action-sheet__title{font-weight:600;font-size:14px;color:var(--nice-text, #1f2937)}.nice-action-sheet__message{font-size:13px;color:var(--nice-text-secondary, #6b7280);margin-top:4px}.nice-action-sheet__action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;border:none;background:transparent;font-size:18px;color:var(--nice-primary, #3b82f6);cursor:pointer;transition:background .15s;border-bottom:1px solid var(--nice-border-light, #f3f4f6)}.nice-action-sheet__action:last-child{border-bottom:none}.nice-action-sheet__action:hover,.nice-action-sheet__action:active{background:var(--nice-bg-hover, #f3f4f6)}.nice-action-sheet__action--danger{color:var(--nice-danger, #ef4444)}.nice-action-sheet__action--cancel{font-weight:600}.nice-action-sheet__action--disabled{opacity:.5;pointer-events:none}.nice-action-sheet__icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.nice-popover{background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #e2e8f0);border-radius:8px;box-shadow:0 4px 16px #0000001f;animation:nice-popover-in .15s ease-out}@keyframes nice-popover-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.nice-popover__content{padding:12px 16px}.nice-popover__arrow{position:absolute;width:12px;height:12px;background:var(--nice-bg, #fff);border:1px solid var(--nice-border, #e2e8f0);transform:rotate(45deg)}.nice-popover--top .nice-popover__arrow,.nice-popover--top-start .nice-popover__arrow,.nice-popover--top-end .nice-popover__arrow{bottom:-7px;left:50%;margin-left:-6px;border-top:none;border-left:none}.nice-popover--bottom .nice-popover__arrow,.nice-popover--bottom-start .nice-popover__arrow,.nice-popover--bottom-end .nice-popover__arrow{top:-7px;left:50%;margin-left:-6px;border-bottom:none;border-right:none}.nice-popover--left .nice-popover__arrow,.nice-popover--left-start .nice-popover__arrow,.nice-popover--left-end .nice-popover__arrow{right:-7px;top:50%;margin-top:-6px;border-top:none;border-left:none}.nice-popover--right .nice-popover__arrow,.nice-popover--right-start .nice-popover__arrow,.nice-popover--right-end .nice-popover__arrow{left:-7px;top:50%;margin-top:-6px;border-bottom:none;border-right:none}.nice-bottom-sheet__title{padding:0 16px 12px;font-weight:600;font-size:18px;text-align:center;color:var(--nice-text, #1f2937)}.nice-drawer{position:fixed;background:var(--nice-bg, #fff);box-shadow:0 0 24px #00000026;z-index:1001;transition:transform .3s ease-out;overflow:auto}.nice-drawer--left{top:0;left:0;bottom:0;transform:translate(-100%)}.nice-drawer--right{top:0;right:0;bottom:0;transform:translate(100%)}.nice-drawer--top{top:0;left:0;right:0;transform:translateY(-100%)}.nice-drawer--bottom{bottom:0;left:0;right:0;transform:translateY(100%)}.nice-drawer--open.nice-drawer--left,.nice-drawer--open.nice-drawer--right{transform:translate(0)}.nice-drawer--open.nice-drawer--top,.nice-drawer--open.nice-drawer--bottom{transform:translateY(0)}.nice-drawer__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;opacity:0;transition:opacity .3s;pointer-events:none}.nice-drawer__overlay--visible{opacity:1;pointer-events:auto}
package/package.json ADDED
@@ -0,0 +1,90 @@
1
+ {
2
+ "name": "@nice2dev/ui",
3
+ "version": "1.0.0",
4
+ "description": "Nice2Dev UI — Universal, themeable, i18n-ready React component library",
5
+ "type": "module",
6
+ "main": "dist/index.cjs",
7
+ "module": "dist/index.mjs",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.mjs",
13
+ "require": "./dist/index.cjs"
14
+ },
15
+ "./style.css": "./dist/style.css"
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "LICENSE",
20
+ "CHANGELOG.md",
21
+ "README.md"
22
+ ],
23
+ "sideEffects": [
24
+ "*.css"
25
+ ],
26
+ "scripts": {
27
+ "dev": "vite",
28
+ "build": "tsc -p tsconfig.build.json && vite build",
29
+ "test": "vitest run",
30
+ "test:watch": "vitest",
31
+ "test:coverage": "vitest run --coverage",
32
+ "test:ui": "vitest --ui",
33
+ "test:e2e": "playwright test",
34
+ "test:e2e:ui": "playwright test --ui",
35
+ "storybook": "storybook dev -p 6006",
36
+ "build:storybook": "storybook build",
37
+ "analyze": "npx tsx scripts/analyze-bundle.ts",
38
+ "lint": "eslint src --ext .ts,.tsx",
39
+ "typecheck": "tsc --noEmit",
40
+ "preview": "vite preview",
41
+ "prepublishOnly": "npm run build"
42
+ },
43
+ "peerDependencies": {
44
+ "react": ">=17.0.0",
45
+ "react-dom": ">=17.0.0"
46
+ },
47
+ "devDependencies": {
48
+ "@playwright/test": "^1.49.0",
49
+ "@testing-library/jest-dom": "^6.9.1",
50
+ "@testing-library/react": "^16.3.2",
51
+ "@types/node": "^22.0.0",
52
+ "@types/react": "^18.2.0",
53
+ "@types/react-dom": "^18.2.0",
54
+ "@vitejs/plugin-react": "^4.2.0",
55
+ "jsdom": "^29.0.0",
56
+ "react": "^18.2.0",
57
+ "react-dom": "^18.2.0",
58
+ "typescript": "^5.3.0",
59
+ "vite": "^6.2.0",
60
+ "vite-plugin-dts": "^4.5.0",
61
+ "vitest": "^4.1.0"
62
+ },
63
+ "author": "NiceToDev <contact@nicetodev.com>",
64
+ "license": "MIT",
65
+ "repository": {
66
+ "type": "git",
67
+ "url": "git+https://github.com/NiceToDev/NiceToDev.UI.git",
68
+ "directory": "nice2dev-ui"
69
+ },
70
+ "homepage": "https://github.com/NiceToDev/NiceToDev.UI#readme",
71
+ "bugs": {
72
+ "url": "https://github.com/NiceToDev/NiceToDev.UI/issues"
73
+ },
74
+ "keywords": [
75
+ "react",
76
+ "ui",
77
+ "components",
78
+ "nice2dev",
79
+ "design-system",
80
+ "typescript",
81
+ "theming",
82
+ "i18n",
83
+ "data-grid",
84
+ "charts",
85
+ "scheduler",
86
+ "form",
87
+ "responsive",
88
+ "accessible"
89
+ ]
90
+ }