.dropdown{position:relative;display:inline-flex}.dropdown-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:var(--space-2) var(--space-3);font-family:var(--font-family-base);font-size:13px;font-weight:var(--font-weight-normal);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.dropdown-trigger:hover{background:var(--bg-muted);color:var(--text-primary)}.dropdown-trigger svg{width:16px;height:16px}.dropdown-trigger-icon{width:32px;height:32px;padding:0;color:var(--text-placeholder)}.dropdown-trigger-icon:hover{background:var(--bg-muted);color:var(--text-secondary)}.dropdown-trigger-icon svg{width:18px;height:18px}.dropdown-trigger[aria-expanded=true]{background:var(--bg-muted);color:var(--text-primary)}.dropdown-content{position:absolute;top:100%;right:0;z-index:var(--z-dropdown);min-width:160px;max-width:200px;width:-moz-max-content;width:max-content;margin-top:var(--space-1);padding:var(--dropdown-padding);background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--dropdown-radius);box-shadow:var(--shadow-dropdown);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.95);transition:all var(--transition-base)}.dropdown-content.open,.dropdown.open .dropdown-content{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.dropdown-content-left{right:auto;left:0}.dropdown-content-up{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--space-1)}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--dropdown-item-radius);cursor:pointer;text-align:left;transition:all var(--transition-fast)}.dropdown-item:hover{background:var(--bg-muted);color:var(--text-primary)}.dropdown-item:focus{outline:none;background:var(--bg-muted)}.dropdown-item svg{width:16px;height:16px;flex-shrink:0;color:var(--text-placeholder)}.dropdown-item:hover svg{color:var(--text-secondary)}.dropdown-item-destructive{color:var(--interactive-destructive-hover)}.dropdown-item-destructive:hover{background:var(--color-destructive-50);color:var(--color-destructive-700)}.dropdown-item-destructive svg{color:var(--interactive-destructive)}.dropdown-item-destructive:hover svg{color:var(--interactive-destructive-hover)}.dropdown-item-disabled,.dropdown-item:disabled{opacity:.5;cursor:not-allowed}.dropdown-item-disabled:hover,.dropdown-item:disabled:hover{background:transparent;color:var(--text-secondary)}.dropdown-divider{height:1px;margin:6px 0;background:var(--border-light)}.dropdown-label{padding:var(--space-2) var(--space-3) var(--space-1);font-family:var(--font-family-base);font-size:var(--font-size-xxs);font-weight:var(--font-weight-normal);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--text-placeholder)}.dropdown-item-check .check-icon{width:16px;height:16px;opacity:0;transition:opacity var(--transition-fast)}.dropdown-item-check.selected .check-icon{opacity:1}.dropdown-item[data-highlighted]{background:var(--bg-muted);color:var(--text-primary)}.context-menu{position:fixed;z-index:var(--z-modal);min-width:180px;padding:var(--dropdown-padding);background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--dropdown-radius);box-shadow:var(--shadow-lg);animation:context-menu-in var(--transition-base)}@keyframes context-menu-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.filter-dropdown{min-width:200px;max-height:320px;overflow-y:auto}.filter-dropdown-search{padding:var(--space-2);border-bottom:1px solid var(--border-light)}.filter-dropdown-search input{width:100%;padding:var(--space-2) var(--space-3);font-size:13px;background:var(--color-neutral-50);border:none;border-radius:6px;outline:none}.filter-dropdown-search input:focus{background:var(--bg-muted)}.filter-dropdown-options{padding:var(--space-1) 0;max-height:240px;overflow-y:auto}.filter-dropdown-footer{padding:var(--space-2);border-top:1px solid var(--border-light);display:flex;justify-content:space-between;gap:var(--space-2)}.filter-dropdown-btn{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);border:none;border-radius:6px;cursor:pointer;transition:all var(--transition-base)}.filter-dropdown-btn-clear{background:transparent;color:var(--text-muted)}.filter-dropdown-btn-clear:hover{background:var(--bg-muted);color:var(--color-neutral-800)}.filter-dropdown-btn-apply{background:var(--text-primary);color:var(--text-inverse)}.filter-dropdown-btn-apply:hover{background:var(--color-neutral-800)}.sort-dropdown-item{display:flex;align-items:center;justify-content:space-between}.sort-dropdown-item .sort-direction{display:flex;align-items:center;gap:2px;opacity:0}.sort-dropdown-item .sort-direction svg{width:14px;height:14px}.sort-dropdown-item.selected .sort-direction{opacity:1}.popover{z-index:var(--z-dropdown);padding:var(--space-3) var(--space-4);border:1px solid var(--border-light);border-radius:var(--dropdown-radius);box-shadow:var(--shadow-dropdown)}.popover,.popover-arrow{position:absolute;background:var(--bg-surface)}.popover-arrow{width:12px;height:12px;border:1px solid var(--border-light);border-right:none;border-bottom:none;transform:rotate(45deg)}.popover-arrow-top{bottom:-7px;left:50%;margin-left:-6px;transform:rotate(-135deg)}.popover-arrow-bottom{top:-7px;left:50%;margin-left:-6px;transform:rotate(45deg)}.input{width:100%;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--text-primary);background:var(--input-bg);border:1px solid transparent;border-radius:var(--input-radius);padding:var(--input-padding-y) var(--input-padding-x);transition:all var(--transition-base)}.input::-moz-placeholder{color:var(--text-placeholder)}.input::placeholder{color:var(--text-placeholder)}.input:hover{background:var(--input-bg-hover)}.input:focus{outline:none;background:var(--input-bg-focus);border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--bg-muted)}.input:disabled{opacity:.5;cursor:not-allowed}.input-error,.input-error:focus{border-color:var(--interactive-destructive)}.input-error:focus{box-shadow:0 0 0 3px var(--color-destructive-50)}.input-group{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--space-3);color:var(--text-placeholder);pointer-events:none}.input-icon svg{width:16px;height:16px}.input-group .input{padding-left:40px}.input-group-right .input-icon{left:auto;right:var(--space-3)}.input-group-right .input{padding-left:var(--input-padding-x);padding-right:40px}.search-bar{position:relative;width:100%;background-color:var(--bg-muted);border-radius:var(--radius-pill)}@media (min-width:640px){.search-bar{width:270px}}.search-bar input{width:100%;padding:var(--input-padding-y) var(--input-padding-x) var(--input-padding-y) 40px;border:none;background-color:transparent;outline:none;font-family:var(--font-family-base);font-size:13px;line-height:var(--line-height-normal)}.search-bar input::-moz-placeholder{color:var(--text-placeholder)}.search-bar input::placeholder{color:var(--text-placeholder)}.search-bar input:focus{outline:none}.search-bar .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-placeholder);pointer-events:none}.form-label{display:block;font-size:var(--font-size-xxs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--text-muted);margin-bottom:6px}.form-group{gap:var(--space-1)}.form-hint{font-size:var(--font-size-xs);color:var(--text-muted)}.textarea{width:100%;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--text-primary);background:var(--input-bg);border:1px solid transparent;border-radius:var(--input-radius);padding:var(--input-padding-y) var(--input-padding-x);transition:all var(--transition-base);min-height:100px;resize:vertical;line-height:var(--line-height-normal)}.textarea::-moz-placeholder{color:var(--text-placeholder)}.textarea::placeholder{color:var(--text-placeholder)}.textarea:hover{background:var(--input-bg-hover)}.textarea:focus{outline:none;background:var(--input-bg-focus);border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--bg-muted)}.textarea:disabled{opacity:.5;cursor:not-allowed}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--input-radius);padding:var(--input-padding-y) 40px var(--input-padding-y) var(--input-padding-x);cursor:pointer;transition:all var(--transition-base);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center}.select:focus,.select:hover{border-color:var(--border-dark)}.select:focus{outline:none;box-shadow:0 0 0 3px var(--bg-muted)}.input-container{padding:var(--space-5);margin:10px 0;border-radius:var(--radius-xl);display:flex;align-items:center}.input-container .input-body input,.input-container .input-body input:focus,.input-container .input-body input[type=email],.input-container input[type=password]{width:100%;background:transparent;background-color:transparent;border:none;outline:none;font-family:var(--font-family-base);font-size:var(--font-size-md)}.input-container textarea{width:100%;background:transparent;border:none;outline:none;font-family:var(--font-family-base);font-size:var(--font-size-md)}.input-container input::-moz-placeholder,.input-container textarea::-moz-placeholder{font-family:var(--font-family-base)}.input-container input::placeholder,.input-container textarea::placeholder{font-family:var(--font-family-base)}.input-container .icon{margin-right:var(--space-2)}.input-body{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;width:100%;margin-left:10px}.input-body label{text-transform:uppercase;font-size:var(--font-size-xxs)}@media (min-width:768px){.resource-search{width:270px;min-width:270px;max-width:270px}.resource-search--wide{min-width:320px;max-width:400px}.resource-search--full{width:100%;max-width:none}}.resource-search__input{width:100%;height:38px;padding:10px 12px 10px 38px;font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:1.5;letter-spacing:0;color:var(--ui-text-primary);background-color:#eee;border:1px solid transparent;border-radius:15px;transition:background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.resource-search__input::-moz-placeholder{font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:1.5;letter-spacing:0;color:grey}.resource-search__input::placeholder{font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:1.5;letter-spacing:0;color:grey}.resource-search__input:hover{background-color:var(--bg-hover)}.resource-search__input:focus{outline:none;background-color:var(--bg-surface);border-color:var(--ui-border-input);box-shadow:0 0 0 2px var(--bg-muted)}.resource-search__input:disabled{opacity:.5;cursor:not-allowed}.resource-search__input--has-value{padding-right:38px}.resource-search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:var(--ui-text-primary);pointer-events:none;transition:color var(--transition-base)}.resource-search__icon svg{width:18px;height:18px}.resource-search:focus-within .resource-search__icon,.resource-search__input:focus~.resource-search__icon{color:var(--ui-text-primary)}.resource-search__icon--loading svg{animation:search-spin .8s linear infinite}@keyframes search-spin{to{transform:rotate(1turn)}}.resource-search__clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;color:var(--ui-text-muted);background:transparent;border:none;border-radius:50%;cursor:pointer;transition:color var(--transition-base),background-color var(--transition-base)}.resource-search__clear:focus,.resource-search__clear:hover{color:var(--ui-text-secondary);background-color:var(--bg-hover)}.resource-search__clear:focus{outline:none}.resource-search__clear svg{width:12px;height:12px}.resource-search__hint{position:absolute;top:calc(100% + var(--space-1));left:12px;font-family:var(--font-family-base);font-size:var(--font-size-xs);color:var(--ui-text-muted)}.resource-search--sm .resource-search__input{height:var(--form-control-height-sm);padding:0 var(--space-8) 0 var(--space-8);font-size:var(--font-size-sm)}.resource-search--sm .resource-search__icon{left:var(--space-3)}.resource-search--sm .resource-search__icon svg{width:14px;height:14px}.resource-search--sm .resource-search__clear{right:var(--space-2);width:20px;height:20px}.resource-search--sm .resource-search__clear svg{width:12px;height:12px}.resource-search--lg .resource-search__input{height:var(--button-height-lg);padding:0 var(--space-12) 0 var(--space-12);font-size:var(--font-size-md)}.resource-search--lg .resource-search__icon{left:var(--space-5)}.resource-search--lg .resource-search__icon svg{width:20px;height:20px}.resource-search--lg .resource-search__clear{right:var(--space-4);width:28px;height:28px}.resource-search--bordered .resource-search__input{background-color:var(--bg-surface);border-color:var(--ui-border-input)}.resource-search--bordered .resource-search__input:hover{border-color:var(--ui-border-default)}.resource-search--bordered .resource-search__input:focus{border-color:var(--ui-text-primary);box-shadow:0 0 0 1px var(--ui-text-primary)}.resource-search__shortcut{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:none;align-items:center;padding:2px 6px;font-family:var(--font-family-base);font-size:var(--font-size-xs);color:var(--ui-text-muted);background-color:var(--bg-surface);border:1px solid var(--ui-border-light);border-radius:var(--radius-sm)}@media (min-width:640px){.resource-search__shortcut{display:flex}}.resource-search__input--has-value~.resource-search__shortcut{display:none}@media (prefers-reduced-motion:reduce){.resource-search__clear,.resource-search__icon,.resource-search__input{transition:none}.resource-search__icon--loading svg{animation:none}}.search-highlight{background-color:var(--color-amber-50,#fffbeb);color:var(--color-amber-700,#b45309);border-radius:var(--radius-sm,4px);padding:0 2px;font-weight:var(--font-weight-medium,500)}.nav-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--nav-item-padding-y) var(--nav-item-padding-x);border:none;background:transparent;border-radius:var(--nav-item-radius);cursor:pointer;text-align:left;text-decoration:none;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-light);line-height:1.5;letter-spacing:0;color:var(--nav-item-color);transition:color var(--transition-base),background-color var(--transition-base)}.nav-item:hover{color:var(--nav-item-color-active);background-color:var(--nav-item-bg-active)}.nav-item:focus-visible{outline:2px solid var(--interactive-primary);outline-offset:-2px}.nav-item.active{color:var(--nav-item-color-active);background-color:var(--nav-item-bg-active);font-weight:var(--font-weight-normal)}.nav-item svg,.nav-item-icon{width:20px;height:20px;flex-shrink:0;color:currentColor}.nav-item-danger:hover{background-color:var(--color-destructive-50);color:var(--interactive-destructive)}.nav-item-centered{justify-content:center}.nav-item-badge{margin-left:auto;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);background-color:var(--ui-bg-hover);color:var(--ui-text-muted)}.nav-item.active .nav-item-badge{background-color:var(--bg-surface)}.nav-item-chevron{margin-left:auto;width:16px;height:16px;flex-shrink:0;opacity:.4;color:var(--ui-text-muted);transition:transform var(--transition-base)}.nav-item:hover .nav-item-chevron{opacity:.7}.nav-item-actions{display:flex;align-items:center;gap:var(--space-1);margin-left:auto;opacity:0;transition:opacity var(--transition-base)}.nav-item:hover .nav-item-actions{opacity:1}.sidebar-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--sidebar-item-padding-y) var(--sidebar-item-padding-x);border:none;background:transparent;border-radius:var(--sidebar-item-radius);cursor:pointer;text-align:left;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-light);line-height:1.5;letter-spacing:0;color:var(--sidebar-item-color);transition:color var(--transition-base),background-color var(--transition-base)}.sidebar-item:hover{color:var(--sidebar-item-color-active);background-color:var(--sidebar-item-bg-hover)}.sidebar-item.active{color:var(--sidebar-item-color-active);font-weight:var(--font-weight-normal)}.sidebar-item-danger:hover{background-color:var(--color-destructive-50);color:var(--interactive-destructive)}.sidebar-item-label{flex:1}.sidebar-item-chevron{flex-shrink:0;opacity:.4;color:var(--ui-text-muted)}.header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--bg-page)}.header-container{width:100%;padding:var(--space-3) var(--space-4);display:flex;justify-content:space-between;align-items:center}@media (min-width:640px){.header-container{padding:var(--space-3) var(--space-6)}}@media (min-width:1024px){.header-container{padding:var(--space-3) var(--space-8)}}.header-left{display:flex;align-items:center;gap:var(--space-4)}.header-center{flex:1;display:flex;justify-content:center}.header-right{display:flex;align-items:center;gap:var(--space-2)}.sidebar{position:relative;display:flex;flex-direction:column;height:100%;width:100%;padding:72px var(--space-3);background:var(--bg-page)}@media (min-width:768px){.sidebar{padding:0 var(--sidebar-padding) var(--space-4)}}.sidebar-section{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-section+.sidebar-section{margin-top:var(--space-1)}.section-divider-top{border-top:1px solid var(--border-light);padding-top:var(--space-3);margin-top:var(--space-3)}.nav-item{gap:var(--space-3)}.nav-item svg{width:20px;height:20px;flex-shrink:0}.upgrade-cta{background-color:var(--ui-bg-hover);border-radius:var(--card-radius);padding:var(--space-5) var(--space-4);margin:var(--space-2) var(--space-1);display:flex;flex-direction:column;gap:var(--space-3)}.upgrade-cta-title{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-light);line-height:1.5;letter-spacing:0;text-align:center;color:var(--ui-text-secondary)}.upgrade-cta .btn,.upgrade-cta-description{font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-light);line-height:1.5;letter-spacing:0;text-align:center;color:var(--ui-text-secondary)}.upgrade-cta .btn{margin-top:var(--space-1);padding:var(--input-padding-y) var(--space-4);background-color:#fff;border:none;border-radius:var(--radius-pill);white-space:nowrap}.user-profile{display:flex;align-items:center;gap:var(--space-3)}.user-avatar{width:40px;height:40px;border-radius:var(--radius-pill);overflow:hidden;background:var(--bg-hover);flex-shrink:0}.user-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.user-avatar-sm{width:32px;height:32px}.user-info{display:flex;flex-direction:column;line-height:1.3}.user-name{font-size:var(--font-size-md);color:var(--text-primary)}.user-name,.user-role{font-weight:var(--font-weight-normal)}.user-role{font-size:var(--font-size-base);color:var(--text-muted)}.notifications-container{position:relative}.notifications-button{position:relative;width:40px;height:40px;background-color:var(--color-neutral-50);border-radius:var(--radius-pill);padding:10px;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-base)}.notifications-button:hover{background-color:var(--bg-muted)}.notifications-button svg{width:20px;height:20px;color:var(--text-muted)}.notification-badge{position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:var(--radius-pill);background-color:var(--color-primary-400);border:2px solid var(--bg-surface)}.mobile-nav-toggle{display:flex;align-items:center;justify-content:center;padding:var(--space-2);color:var(--text-secondary);border-radius:var(--radius-md)}.mobile-nav-toggle:hover{background:var(--bg-muted)}.mobile-nav-toggle svg{width:24px;height:24px}@media (min-width:768px){.mobile-nav-toggle{display:none}}.hidden-mobile{display:none!important}@media (min-width:768px){.hidden-mobile{display:block!important}}.visible-mobile{display:block!important}@media (min-width:768px){.visible-mobile{display:none!important}}.resource-list{--table-border-radius:var(--radius-lg);--table-border-radius-pill:var(--radius-pill);--table-bg-header:var(--bg-muted);--table-bg-row-hover:var(--color-neutral-50);--table-bg-row-selected:var(--color-blue-50);--table-text-primary:var(--text-primary);--table-text-secondary:var(--text-secondary);--table-text-muted:var(--text-muted);--table-border-color:var(--border-light);--table-border-color-light:var(--border-light);display:flex;flex-direction:column;width:100%}.resource-header{margin-bottom:var(--space-6)}.resource-header,.resource-header-top{display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width:640px){.resource-header-top{flex-direction:row;align-items:center;justify-content:space-between}}.resource-title{font-family:var(--font-family-base);font-size:var(--font-size-3xl);font-weight:var(--font-weight-light);color:var(--table-text-primary);margin:0}.resource-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}@media (max-width:768px){.resource-toolbar{flex-direction:column;align-items:stretch}}.resource-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.resource-action-btn{display:inline-flex;align-items:center;gap:6px;padding:var(--space-2) var(--space-3);font-size:13px;font-weight:var(--font-weight-normal);color:var(--table-text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.resource-action-btn:hover{background:var(--table-bg-header);color:var(--table-text-primary)}.resource-action-btn svg{width:16px;height:16px}.resource-action-btn-primary,.resource-action-btn.active{background:var(--table-text-primary);color:var(--text-inverse)}.resource-action-btn-primary{padding:10px var(--space-5);border-radius:var(--radius-pill)}.resource-action-btn-primary:hover{background:var(--color-neutral-700);color:var(--text-inverse)}.resource-search{position:relative;width:100%;max-width:300px}.resource-search-input{width:100%;padding:10px var(--space-4) 10px 40px;font-family:var(--font-family-base);font-size:13px;color:var(--table-text-primary);background:var(--table-bg-header);border:none;border-radius:var(--radius-pill);outline:none}.resource-search-input::-moz-placeholder{color:var(--table-text-muted)}.resource-search-input::placeholder{color:var(--table-text-muted)}.resource-search-input:focus{background:var(--color-neutral-50);box-shadow:0 0 0 2px var(--table-border-color)}.resource-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--table-text-muted);pointer-events:none}.resource-search-icon svg{width:16px;height:16px}.resource-table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.resource-table{width:100%;border-collapse:collapse;min-width:800px}.resource-table-header{background:var(--table-bg-header)}.resource-table-header th{padding:14px var(--space-4);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--table-text-secondary);text-align:left;white-space:nowrap;border:none}.resource-table-header th:first-child{border-radius:var(--table-border-radius) 0 0 var(--table-border-radius);padding-left:var(--space-5)}.resource-table-header th:last-child{border-radius:0 var(--table-border-radius) var(--table-border-radius) 0;padding-right:var(--space-5)}.resource-table-body tr{border-bottom:1px solid var(--table-border-color-light);transition:background var(--transition-base)}.resource-table-body tr:hover{background:var(--table-bg-row-hover)}.resource-table-body tr:last-child{border-bottom:none}.resource-table-body tr.selected{background:var(--table-bg-row-selected)}.resource-table-body tr.selected:hover{background:var(--color-blue-100)}.resource-table-body td{padding:var(--space-4);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--table-text-primary);vertical-align:middle}.resource-table-body td:first-child{padding-left:var(--space-5)}.resource-table-body td:last-child{padding-right:var(--space-5)}.resource-cell-item{display:flex;align-items:center;gap:var(--space-3);min-width:200px}.resource-cell-checkbox{width:18px;height:18px;border:1.5px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.resource-cell-checkbox:hover{border-color:var(--border-dark)}.resource-cell-checkbox.checked{background:var(--table-text-primary);border-color:var(--table-text-primary)}.resource-cell-checkbox svg{width:12px;height:12px;color:var(--text-inverse);opacity:0}.resource-cell-checkbox.checked svg{opacity:1}.resource-cell-thumbnail{width:56px;height:56px;border-radius:var(--radius-md);background:var(--table-bg-header);overflow:hidden;flex-shrink:0}.resource-cell-thumbnail img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.resource-cell-name{font-weight:var(--font-weight-normal);color:var(--table-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.resource-card-list{display:none;flex-direction:column;gap:var(--space-3)}.resource-card{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--table-border-color);border-radius:var(--table-border-radius);cursor:pointer;transition:all var(--transition-base)}.resource-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.resource-card.selected{border-color:var(--color-blue-500);background:var(--color-blue-50)}.resource-card-image{width:72px;height:72px;border-radius:var(--radius-md);background:var(--table-bg-header);overflow:hidden;flex-shrink:0}.resource-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.resource-card-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.resource-card-title{font-size:15px;font-weight:var(--font-weight-normal);color:var(--table-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-card-meta{display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--table-text-secondary)}.resource-card-meta-divider{width:3px;height:3px;background:var(--table-text-muted);border-radius:var(--radius-pill)}.resource-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-1)}.resource-card-price{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--table-text-primary)}.resource-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6);text-align:center}.resource-empty-icon{width:64px;height:64px;margin-bottom:var(--space-4);color:var(--table-text-muted)}.resource-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);color:var(--table-text-secondary);margin-bottom:var(--space-2)}.resource-empty-description{font-size:var(--font-size-base);color:var(--table-text-muted);max-width:300px;margin-bottom:var(--space-6)}.resource-bulk-bar{position:sticky;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);background:var(--table-text-primary);color:var(--text-inverse);border-radius:var(--table-border-radius);margin:var(--space-4);box-shadow:var(--shadow-toast);animation:slide-up-resource var(--duration-base) var(--ease-out)}@keyframes slide-up-resource{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.resource-bulk-bar-count{font-size:var(--font-size-base);font-weight:var(--font-weight-normal)}.resource-bulk-bar-actions{display:flex;align-items:center;gap:var(--space-2)}.resource-bulk-bar-btn{padding:var(--space-2) var(--space-4);font-size:13px;color:var(--text-inverse);background:hsla(0,0%,100%,.1);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-base)}.resource-bulk-bar-btn:hover{background:hsla(0,0%,100%,.2)}.resource-bulk-bar-btn-destructive{color:var(--color-destructive-200)}.resource-bulk-bar-btn-destructive:hover{background:var(--interactive-destructive);color:var(--text-inverse)}@media (max-width:767px){.resource-table-container{display:none}.resource-card-list{display:flex}.resource-card-checkbox,.resource-cell-checkbox{display:none}.resource-card{background-color:#f8f8f8;border:none;border-radius:var(--radius-md)}.resource-card:hover{border:none}.resource-card-image{width:35px;height:35px;border-radius:50%}.resource-card-content p,.resource-card-content span,.resource-card-meta,.resource-card-price,.resource-card-title{font-family:var(--font-family-base);font-weight:var(--font-weight-normal);font-size:11px;line-height:1.5;letter-spacing:0}.resource-card-title{color:var(--table-text-primary)}.resource-card-meta{color:var(--table-text-secondary)}}@media (min-width:768px){.resource-card-list{display:none}.resource-table-container{display:block}}.resource-modal-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fade-in var(--duration-base) var(--ease-out)}@media (min-width:768px){.resource-modal-overlay{padding:var(--space-6)}}.resource-modal{position:relative;z-index:10000;width:100%;max-width:720px;max-height:calc(100vh - 32px);background:var(--bg-surface);border-radius:var(--modal-radius);overflow:hidden;display:flex;flex-direction:column;animation:scale-in var(--duration-base) var(--ease-out)}@media (min-width:768px){.resource-modal{max-height:calc(100vh - 48px)}}.resource-modal-header{display:flex!important;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #cacbcb;flex-shrink:0;background-color:#fff}.resource-modal-title{font-family:var(--font-family-base);font-size:24px;font-weight:300;line-height:1.4;color:#000;margin:0}.resource-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:4px;color:grey;cursor:pointer;transition:all .15s ease}.resource-modal-close:hover{background:#f5f5f5;color:#333}.resource-modal-close svg{width:20px;height:20px}.resource-modal-body{display:flex;flex-direction:column;overflow-y:auto;flex:1}@media (min-width:640px){.resource-modal-body{flex-direction:row}}.resource-modal-gallery{display:flex;flex-direction:column;align-items:center;padding:var(--modal-padding);background:transparent}@media (min-width:640px){.resource-modal-gallery{width:280px;flex-shrink:0}}.resource-modal-image-main,.resource-modal-main-image{position:relative;width:250px;height:250px;background:transparent;border:.5px solid #c5c5c5;border-radius:15px;overflow:hidden;display:flex;align-items:center;justify-content:center}.resource-modal-image-main img,.resource-modal-main-image img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.resource-modal-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-neutral-400)}.resource-modal-image-placeholder svg{width:18px;height:18px}.resource-modal-image-placeholder span{font-size:13px;color:var(--text-muted)}.resource-modal-thumbnails{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4);justify-content:center}.resource-modal-thumbnail{position:relative;width:48px;height:48px;border-radius:var(--radius-md);background:var(--bg-surface);border:2px solid transparent;overflow:hidden;cursor:pointer;transition:border-color var(--transition-base)}.resource-modal-thumbnail:hover{border-color:var(--border-default)}.resource-modal-thumbnail.active{border-color:var(--text-primary)}.resource-modal-thumbnail img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.resource-modal-thumbnail-remove{position:absolute;top:-6px;right:-6px;width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--interactive-destructive);color:var(--text-inverse);border:2px solid var(--bg-surface);border-radius:var(--radius-pill);cursor:pointer;opacity:0;transition:opacity var(--transition-base),background var(--transition-base);z-index:1}.resource-modal-thumbnail:hover .resource-modal-thumbnail-remove{opacity:1}.resource-modal-thumbnail-remove:hover{background:var(--interactive-destructive-hover)}.resource-modal-thumbnail-remove svg{width:10px;height:10px}.resource-modal-upload-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-4);padding:10px var(--space-5);font-family:var(--font-family-base);font-size:13px;font-weight:var(--font-weight-normal);color:grey;background:transparent;border:1px solid #c5c5c5;border-radius:15px;cursor:pointer;transition:all var(--transition-base)}.resource-modal-upload-btn:hover{background:var(--bg-hover);border-color:#a0a0a0;color:var(--text-secondary)}.resource-modal-upload-btn:disabled{opacity:.5;cursor:not-allowed}.resource-modal-upload-btn svg{width:16px;height:16px}.resource-modal-file-input{display:none}.resource-modal-form{flex:1;padding:var(--modal-padding);display:flex;flex-direction:column;gap:var(--space-5);overflow-y:auto}.resource-modal-section{display:flex;flex-direction:column;gap:var(--space-4)}.resource-modal-section-title{font-family:var(--font-family-base);font-size:var(--font-size-xxs);font-weight:var(--font-weight-normal);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--text-placeholder);margin:0}.resource-modal-field{display:block;width:100%;padding-bottom:var(--space-3);border-bottom:none}.resource-modal-field:last-child{border-bottom:none;padding-bottom:0}.resource-modal-field-row{display:block;width:100%}.resource-modal-label{font-size:14px;font-weight:400;line-height:1;letter-spacing:.01em;color:#000;margin-bottom:8px;padding-top:0}.resource-modal-label,.resource-modal-value{display:block;width:100%;font-family:var(--font-family-base)}.resource-modal-value{min-width:0;font-size:var(--font-size-base);color:var(--text-primary)}.resource-modal-input{width:100%;height:40px;padding:0 16px;font-family:var(--font-family-base);font-size:11px;font-weight:400;line-height:1.5;letter-spacing:0;color:#000;background:#fff;border:.5px solid #c5c5c5;border-radius:15px;outline:none;transition:border-color var(--transition-base)}.resource-modal-input::-moz-placeholder{color:grey}.resource-modal-input::placeholder{color:grey}.resource-modal-input:hover{border-color:#a0a0a0}.resource-modal-input:focus{border-color:#000}.resource-modal-textarea{width:100%;min-height:80px;padding:12px 16px;font-family:var(--font-family-base);font-size:11px;font-weight:400;line-height:1.5;letter-spacing:0;color:#000;background:#fff;border:.5px solid #c5c5c5;border-radius:15px;outline:none;resize:vertical;transition:border-color var(--transition-base)}.resource-modal-textarea::-moz-placeholder{color:grey}.resource-modal-textarea::placeholder{color:grey}.resource-modal-textarea:hover{border-color:#a0a0a0}.resource-modal-textarea:focus{border-color:#000}.resource-modal-text{font-weight:var(--font-weight-normal)}.resource-modal-link,.resource-modal-text{padding:var(--space-2) 0;font-family:var(--font-family-base);font-size:var(--font-size-base);color:var(--text-primary)}.resource-modal-link{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-modal-link:hover{color:var(--interactive-primary-hover)}.resource-modal-document{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) 0}.resource-modal-document-link{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-base);color:var(--text-primary)}.resource-modal-document-link svg{width:18px;height:18px;color:var(--text-placeholder)}.resource-modal-document-link:hover{color:var(--interactive-primary-hover)}.resource-modal-document-type{font-size:var(--font-size-sm);color:var(--text-placeholder)}.resource-modal-document-upload{display:flex;flex-direction:column;gap:var(--space-2)}.resource-modal-document-upload .resource-modal-upload-btn{margin-top:0;width:-moz-fit-content;width:fit-content}.resource-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--modal-padding);border-top:1px solid var(--border-light);flex-shrink:0}.resource-modal-btn{padding:var(--space-3) var(--space-8);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base)}.resource-modal-btn-secondary{color:var(--text-secondary);background:var(--bg-muted)}.resource-modal-btn-secondary:hover{background:var(--bg-hover)}.resource-modal-btn-primary{color:var(--text-inverse);background:var(--text-primary)}.resource-modal-btn-primary:hover{background:var(--color-neutral-800)}.resource-modal-btn-primary:disabled{opacity:.5;cursor:not-allowed}.resource-modal-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:40px;padding:0 40px 0 16px;font-family:var(--font-family-base);font-size:11px;font-weight:400;line-height:1.5;letter-spacing:0;color:#222;background-color:#eee;border:.5px solid #c5c5c5;border-radius:15px;outline:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 9l4-4 4 4'/%3E%3Cpath d='M16 15l-4 4-4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;transition:border-color var(--transition-base)}.resource-modal-select:hover{border-color:#a0a0a0}.resource-modal-select:focus{border-color:#000}.resource-modal-status-selector{display:flex;gap:var(--space-2);padding:var(--space-2) 0}.resource-modal-number{width:100%;height:40px;padding:0 16px;font-family:var(--font-family-base);font-size:11px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;letter-spacing:0;color:#000;background:#fff;border:.5px solid #c5c5c5;border-radius:15px;outline:none;transition:border-color var(--transition-base);-moz-appearance:textfield}.resource-modal-number::-webkit-inner-spin-button,.resource-modal-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.resource-modal-number::-moz-placeholder{color:grey}.resource-modal-number::placeholder{color:grey}.resource-modal-number:hover{border-color:#a0a0a0}.resource-modal-number:focus{border-color:#000}.resource-modal-field-error .resource-modal-input,.resource-modal-field-error .resource-modal-input:focus,.resource-modal-field-error .resource-modal-number,.resource-modal-field-error .resource-modal-number:focus,.resource-modal-field-error .resource-modal-select,.resource-modal-field-error .resource-modal-select:focus,.resource-modal-field-error .resource-modal-textarea,.resource-modal-field-error .resource-modal-textarea:focus{border-color:var(--interactive-destructive)}.resource-modal-error-message{font-size:var(--font-size-sm);color:var(--interactive-destructive);margin-top:var(--space-1)}.resource-modal-error{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--font-size-base);color:var(--interactive-destructive);background:var(--color-destructive-50);border:1px solid var(--color-destructive-200);border-radius:var(--radius-md)}.resource-modal-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-16)}.resource-modal-spinner{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--text-muted);border-radius:var(--radius-pill);animation:spin .8s linear infinite}@media (max-width:639px){.resource-modal{max-height:100vh;border-radius:0}.resource-modal-gallery{padding:var(--space-4)}.resource-modal-image-main,.resource-modal-main-image{max-width:160px}.resource-modal-form{padding:var(--space-4)}.resource-modal-field-row{display:block;width:100%}.resource-modal-label{width:100%;padding-top:0;font-size:14px;margin-bottom:8px}.resource-modal-footer{flex-direction:column;gap:var(--space-2)}.resource-modal-btn{width:100%}}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--badge-padding-y) var(--badge-padding-x);font-family:var(--font-family-base);font-size:var(--badge-font-size);font-weight:var(--font-weight-normal);line-height:1;white-space:nowrap;border-radius:var(--badge-radius);border:1px solid transparent;transition:all var(--transition-base)}.status-badge-pending{color:var(--text-muted);background:var(--bg-surface);border-color:var(--border-default)}.status-badge-acquired,.status-badge-confirmed{color:var(--text-inverse);background:var(--interactive-primary);border-color:var(--interactive-primary)}.status-badge-available{color:var(--text-inverse);background:var(--color-purple-500);border-color:var(--color-purple-500)}.status-badge-unavailable{color:var(--text-inverse);background:var(--interactive-destructive);border-color:var(--interactive-destructive)}.status-badge-tentative{color:var(--color-amber-700);background:var(--color-amber-50);border-color:var(--color-amber-50)}.status-badge-returned{color:var(--text-secondary);background:var(--bg-hover);border-color:var(--bg-hover)}.status-badge-delivered{color:var(--text-inverse);background:var(--color-blue-500);border-color:var(--color-blue-500)}.status-badge-ordered{color:var(--color-orange-700);background:var(--color-orange-50);border-color:var(--color-orange-50)}.status-badge-in-progress,.status-badge-in_progress{color:var(--text-inverse);background:var(--color-blue-500);border-color:var(--color-blue-500)}.status-badge-completed{color:var(--text-inverse);background:var(--color-green-500);border-color:var(--color-green-500)}.status-badge-approved{color:var(--color-green-700);background:var(--color-green-50);border-color:var(--color-green-50)}.status-badge-rejected{color:var(--text-inverse);background:var(--interactive-destructive);border-color:var(--interactive-destructive)}.status-badge-draft{color:var(--text-placeholder);background:transparent;border-color:var(--border-default);border-style:dashed}.status-badge-cancelled{color:var(--text-inverse);background:var(--interactive-destructive);border-color:var(--interactive-destructive)}.type-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1) 10px;font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:1;white-space:nowrap;border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--text-secondary)}.type-badge-rent{background:var(--color-blue-50);color:var(--color-blue-700)}.type-badge-buy{background:var(--color-green-50);color:var(--color-green-700)}.type-badge-borrow{background:var(--color-orange-50);color:var(--color-orange-700)}.status-badge-interactive{cursor:pointer}.status-badge-interactive:hover{opacity:.85;transform:scale(1.02)}.status-badge-interactive:active{transform:scale(.98)}.status-badge-selector{display:flex;flex-wrap:wrap;gap:var(--space-2)}.status-badge-option{display:inline-flex;align-items:center;justify-content:center;padding:var(--badge-padding-y) var(--badge-padding-x);font-family:var(--font-family-base);font-size:var(--badge-font-size);font-weight:var(--font-weight-normal);line-height:1;white-space:nowrap;border-radius:var(--badge-radius);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;transition:all var(--transition-base)}.status-badge-option:hover{border-color:var(--border-dark);color:var(--color-neutral-800)}.status-badge-option.selected[data-status=pending]{color:var(--text-secondary);background:var(--bg-muted);border-color:var(--border-dark)}.status-badge-option.selected[data-status=acquired],.status-badge-option.selected[data-status=confirmed]{color:var(--text-inverse);background:var(--interactive-primary);border-color:var(--interactive-primary)}.status-badge-option.selected[data-status=returned]{color:var(--text-secondary);background:var(--bg-hover);border-color:var(--border-default)}.status-badge-sm{padding:var(--space-1) 10px;font-size:var(--font-size-xs)}.status-badge-lg{padding:var(--space-2) var(--space-4);font-size:13px}.status-badge-icon{display:inline-flex;align-items:center;gap:6px}.status-badge-icon svg{width:12px;height:12px}.priority-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:1;border-radius:var(--radius-sm)}.priority-badge-high{background:var(--color-destructive-50);color:var(--color-destructive-700)}.priority-badge-medium{background:var(--color-amber-50);color:var(--color-amber-700)}.priority-badge-low{background:var(--bg-muted);color:var(--text-muted)}.priority-dot{width:6px;height:6px;border-radius:var(--radius-pill)}.priority-dot-high{background:var(--interactive-destructive)}.priority-dot-medium{background:var(--color-amber-500)}.priority-dot-low{background:var(--color-neutral-400)}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;border-radius:10px;background:var(--bg-hover);color:var(--text-secondary)}.count-badge-primary{background:var(--interactive-primary);color:var(--text-inverse)}.count-badge-danger{background:var(--interactive-destructive);color:var(--text-inverse)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeInUp{0%{transform:translate3d(0,10px,0);opacity:0}to{transform:translateZ(0);opacity:1}}.animate-fade-in{animation:fade-in var(--duration-base) var(--ease-out)}.animate-slide-up{animation:slide-up var(--duration-base) var(--ease-out)}.animate-slide-down{animation:slide-down var(--duration-base) var(--ease-out)}.animate-scale-in{animation:scale-in var(--duration-base) var(--ease-out)}.animate-spin{animation:spin 1s linear infinite}.animated{animation-duration:.5s;animation-fill-mode:both}.fadeInUp{opacity:0;animation-name:fadeInUp}.animate-stagger>*{animation:slide-up var(--duration-slow) var(--ease-out) backwards}.animate-stagger>:first-child{animation-delay:0ms}.animate-stagger>:nth-child(2){animation-delay:50ms}.animate-stagger>:nth-child(3){animation-delay:.1s}.animate-stagger>:nth-child(4){animation-delay:.15s}.animate-stagger>:nth-child(5){animation-delay:.2s}.animate-stagger>:nth-child(6){animation-delay:.25s}.skeleton{background:linear-gradient(90deg,rgba(229,231,235,.6) 25%,rgba(229,231,235,.9) 50%,rgba(229,231,235,.6) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.toast{position:fixed;bottom:20px;right:20px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);z-index:var(--z-toast);max-width:350px;animation:toast-in var(--duration-slow) var(--ease-default) forwards}.toast-success{background-color:var(--interactive-primary);color:var(--text-inverse)}.toast-error{background-color:var(--interactive-destructive)}.toast-error,.toast-info{color:var(--text-inverse)}.toast-info{background-color:var(--color-neutral-800)}@keyframes toast-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.dropdown-enter{opacity:0;transform:scale(.95) translateY(-10px)}.dropdown-enter-active{transition:opacity var(--duration-base) var(--ease-default),transform var(--duration-base) var(--ease-default)}.dropdown-enter-active,.dropdown-exit{opacity:1;transform:scale(1) translateY(0)}.dropdown-exit-active{opacity:0;transform:scale(.95) translateY(-10px);transition:opacity var(--duration-base) var(--ease-default),transform var(--duration-base) var(--ease-default)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.focus-ring{position:relative}.focus-ring:after{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:var(--radius-md);border:2px solid var(--interactive-primary);opacity:0;transition:opacity var(--transition-base);pointer-events:none}.focus-ring:focus-visible:after,.focus-ring:focus:after{opacity:1}.sidebar-active-indicator{position:relative}.sidebar-active-indicator:before{content:"";position:absolute;left:0;top:var(--space-2);bottom:var(--space-2);width:3px;background-color:var(--interactive-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.drag-preview{position:fixed;pointer-events:none;z-index:var(--z-modal);opacity:.8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border:0}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.truncate{text-overflow:ellipsis}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;line-clamp:3}.interactive{cursor:pointer;transition:opacity var(--transition-base)}.interactive:hover{opacity:.8}.interactive:active{opacity:.6}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center;color:var(--text-placeholder)}.empty-state-icon{width:48px;height:48px;margin-bottom:var(--space-4);color:var(--color-neutral-400)}.empty-state-title{font-size:var(--font-size-md);font-weight:var(--font-weight-normal);color:var(--text-secondary);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--font-size-base);color:var(--text-placeholder);max-width:300px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--button-height);padding:0 var(--button-padding-x);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-light);line-height:1.5;letter-spacing:0;text-align:center;text-decoration:none;white-space:nowrap;border:none;border-radius:var(--radius-interactive);cursor:pointer;transition:all var(--transition-base)}.btn:focus-visible{outline:2px solid var(--interactive-primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:16px;height:16px;flex-shrink:0}.btn-primary{background-color:var(--ui-text-primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--ui-text-tertiary)}.btn-secondary{background-color:var(--ui-bg-hover);color:var(--ui-text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-hover)}.btn-outline{background-color:transparent;color:var(--ui-text-muted);border:1px solid var(--ui-border-default)}.btn-outline:hover:not(:disabled){background-color:var(--ui-bg-hover);color:var(--ui-text-primary)}.btn-ghost{background-color:transparent;color:var(--ui-text-muted)}.btn-ghost:hover:not(:disabled){background-color:var(--ui-bg-hover);color:var(--ui-text-primary)}.btn-danger{background-color:var(--interactive-destructive);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background-color:var(--color-destructive-600)}.btn-danger-outline{background-color:transparent;color:var(--interactive-destructive);border:1px solid var(--color-destructive-300)}.btn-danger-outline:hover:not(:disabled){background-color:var(--color-destructive-50);border-color:var(--color-destructive-400)}.btn-sm{height:var(--button-height-sm);padding:0 var(--button-padding-x-sm);font-size:var(--font-size-xs)}.btn-sm svg{width:14px;height:14px}.btn-lg{height:var(--button-height-lg);padding:0 32px;font-size:var(--font-size-base)}.btn-lg svg{width:20px;height:20px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-button-size);height:var(--icon-button-size);padding:0;background-color:transparent;color:var(--ui-text-muted);border:none;border-radius:var(--radius-interactive);cursor:pointer;transition:all var(--transition-base)}.btn-icon:hover:not(:disabled){background-color:var(--ui-bg-hover);color:var(--ui-text-primary)}.btn-icon:focus-visible{outline:2px solid var(--interactive-primary);outline-offset:2px}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon svg{width:20px;height:20px}.btn-icon-sm{width:var(--icon-button-size-sm);height:var(--icon-button-size-sm)}.btn-icon-sm svg{width:16px;height:16px}.btn-loading{position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid;border-top:2px solid transparent;border-radius:var(--radius-pill);animation:btn-spin .8s linear infinite}.btn-primary.btn-loading:after{border-color:var(--text-inverse);border-top-color:transparent}@keyframes btn-spin{to{transform:rotate(1turn)}}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-interactive) 0 0 var(--radius-interactive)}.btn-group .btn:last-child{border-radius:0 var(--radius-interactive) var(--radius-interactive) 0}.btn-group .btn:not(:last-child){border-right:1px solid rgba(0,0,0,.1)}.btn-block{width:100%}@media (prefers-reduced-motion:reduce){.btn,.btn-icon{transition:none}.btn-loading:after{animation:none}}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1;letter-spacing:.01em;color:var(--ui-text-primary)}.form-label.required:after{content:" *";color:var(--interactive-destructive)}.form-label svg{display:inline;width:14px;height:14px;margin-right:var(--space-1);vertical-align:-2px;color:var(--ui-text-muted)}.form-input{width:100%;height:var(--form-control-height);padding:0 var(--space-4);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.5;color:var(--ui-text-secondary);background-color:var(--bg-surface);border:1px solid var(--ui-border-input);border-radius:var(--radius-interactive);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.form-input::-moz-placeholder{font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-light);line-height:1.5;letter-spacing:0;color:var(--ui-text-secondary)}.form-input::placeholder{font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-light);line-height:1.5;letter-spacing:0;color:var(--ui-text-secondary)}.form-input:focus{outline:none;border-color:var(--ui-text-primary);box-shadow:0 0 0 1px var(--ui-text-primary)}.form-input:disabled{background-color:var(--bg-muted);color:var(--ui-text-muted);cursor:not-allowed}.form-input.has-error{border-color:var(--interactive-destructive)}.form-input.has-error:focus{box-shadow:0 0 0 1px var(--interactive-destructive)}.form-textarea{width:100%;min-height:100px;padding:var(--space-3) var(--space-4);resize:vertical;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.5;color:var(--ui-text-secondary);background-color:var(--bg-surface);border:1px solid var(--ui-border-input);border-radius:var(--radius-interactive);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.form-textarea::-moz-placeholder{font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-light);line-height:1.5;letter-spacing:0;color:var(--ui-text-secondary)}.form-textarea::placeholder{font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-light);line-height:1.5;letter-spacing:0;color:var(--ui-text-secondary)}.form-textarea:focus{outline:none;border-color:var(--ui-text-primary);box-shadow:0 0 0 1px var(--ui-text-primary)}.form-textarea.has-error{border-color:var(--interactive-destructive)}.form-select{width:100%;height:var(--form-control-height);padding:0 var(--space-10) 0 var(--space-4);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:1.2;letter-spacing:0;color:var(--ui-text-primary);background-color:var(--ui-bg-hover);border:none;border-radius:var(--radius-interactive);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23878A94' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer;transition:background-color var(--transition-base)}.form-select:hover{background-color:var(--bg-hover)}.form-select:focus{outline:none;box-shadow:0 0 0 2px var(--ui-text-primary)}.form-select:disabled{opacity:.5;cursor:not-allowed}.form-select-bordered{background-color:var(--bg-surface);border:1px solid var(--ui-border-input)}.form-select-bordered:hover{background-color:var(--bg-surface);border-color:var(--ui-text-muted)}.form-date{width:100%;height:var(--form-control-height);padding:0 var(--space-4);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:1.2;letter-spacing:0;color:var(--ui-text-primary);background-color:var(--ui-bg-hover);border:none;border-radius:var(--radius-interactive);cursor:pointer;transition:background-color var(--transition-base)}.form-date:hover{background-color:var(--bg-hover)}.form-date:focus{outline:none;box-shadow:0 0 0 2px var(--ui-text-primary)}.form-date:invalid::-webkit-datetime-edit,.form-date[value=""]::-webkit-datetime-edit{color:var(--ui-text-placeholder)}.form-date:not(:valid){color:var(--ui-text-placeholder)}.form-date-bordered{background-color:var(--bg-surface);border:1px solid var(--ui-border-input)}.form-error{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--interactive-destructive);margin-top:var(--space-1)}.form-error svg{width:14px;height:14px;flex-shrink:0}.form-alert{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:var(--color-destructive-50);border:1px solid var(--color-destructive-200);border-radius:var(--radius-interactive);font-family:var(--font-family-base);font-size:var(--font-size-base);color:var(--interactive-destructive)}.form-alert svg{width:16px;height:16px;flex-shrink:0;margin-top:2px}.form-alert-warning{background-color:var(--color-warning-50);border-color:var(--color-warning-200);color:var(--color-warning-700)}.form-row{display:grid;gap:var(--space-4)}.form-row-2{grid-template-columns:1fr 1fr}.form-row-3{grid-template-columns:1fr 1fr 1fr}@media (max-width:639px){.form-row-2,.form-row-3{grid-template-columns:1fr}}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--ui-border-light)}@media (max-width:639px){.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.form-char-count,.form-helper{font-family:var(--font-family-base);font-size:var(--font-size-xs);color:var(--ui-text-muted);margin-top:var(--space-1)}.form-char-count{text-align:right}.form-char-count.near-limit{color:var(--color-warning-600)}.form-char-count.over-limit{color:var(--interactive-destructive)}@media (prefers-reduced-motion:reduce){.form-date,.form-input,.form-select,.form-textarea{transition:none}}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background-color:var(--overlay-bg)}.modal{position:relative;width:100%;max-width:var(--modal-max-width);max-height:90vh;background-color:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);overflow:hidden;display:flex;flex-direction:column;animation:modal-enter var(--duration-base) ease-out}@keyframes modal-enter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-sm{max-width:var(--modal-max-width-sm)}.modal-lg{max-width:var(--modal-max-width-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--modal-padding);border-bottom:1px solid var(--ui-border-light);flex-shrink:0}.modal-title{font-family:var(--font-family-base);font-size:24px;font-weight:var(--font-weight-light);line-height:1.4;letter-spacing:0;color:var(--ui-text-primary);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:var(--icon-button-size-sm);height:var(--icon-button-size-sm);padding:0;background:transparent;border:none;border-radius:var(--radius-interactive);color:var(--ui-text-muted);cursor:pointer;transition:all var(--transition-base)}.modal-close:hover{background-color:var(--ui-bg-hover);color:var(--ui-text-primary)}.modal-close svg{width:20px;height:20px}.modal-body{flex:1;padding:var(--modal-padding);overflow-y:auto}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background-color:var(--ui-border-default);border-radius:var(--radius-pill)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--modal-padding);background-color:var(--bg-surface);border-top:1px solid var(--ui-border-light);flex-shrink:0}.modal-footer-left{margin-right:auto}@media (max-width:639px){.modal-overlay{padding:0;align-items:flex-end}.modal{max-height:95vh;border-radius:var(--radius-card) var(--radius-card) 0 0;animation:modal-slide-up var(--duration-slow) ease-out}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-body,.modal-footer,.modal-header{padding:20px}.modal-title{font-size:var(--font-size-xl)}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}.modal-footer-left{margin-right:0;width:100%}}@media (max-width:479px){.modal{max-height:100vh;border-radius:0}}.modal-confirm{max-width:var(--modal-max-width-sm);text-align:center}.modal-confirm .modal-header{justify-content:center;border-bottom:none;padding-bottom:0}.modal-confirm .modal-close{position:absolute;top:var(--space-4);right:var(--space-4)}.modal-confirm .modal-body{padding-top:var(--space-2)}.modal-confirm .modal-footer{justify-content:center;border-top:none;padding-top:0}@media (prefers-reduced-motion:reduce){.modal{animation:none}.modal-close{transition:none}}