﻿:root{--tm-color-primary-50:#eff6ff;--tm-color-primary-100:#dbeafe;--tm-color-primary-200:#bfdbfe;--tm-color-primary-300:#93c5fd;--tm-color-primary-400:#60a5fa;--tm-color-primary-500:#3b82f6;--tm-color-primary-600:#2563eb;--tm-color-primary-700:#1d4ed8;--tm-color-primary-800:#1e40af;--tm-color-primary-900:#1e3a8a;--tm-color-primary:var(--tm-color-primary-500);--tm-color-primary-hover:var(--tm-color-primary-600);--tm-color-primary-active:var(--tm-color-primary-700);--tm-color-primary-subtle:var(--tm-color-primary-50);--tm-color-primary-text:var(--tm-color-primary-800);--tm-color-secondary:#6b7280;--tm-color-secondary-hover:#4b5563;--tm-color-secondary-subtle:#f9fafb;--tm-color-danger:#ef4444;--tm-color-danger-hover:#dc2626;--tm-color-danger-subtle:#fef2f2;--tm-color-danger-text:#991b1b;--tm-color-success:#22c55e;--tm-color-success-hover:#16a34a;--tm-color-success-subtle:#f0fdf4;--tm-color-success-text:#166534;--tm-color-warning:#f59e0b;--tm-color-warning-hover:#d97706;--tm-color-warning-subtle:#fffbeb;--tm-color-warning-text:#92400e;--tm-color-info:#06b6d4;--tm-color-info-hover:#0891b2;--tm-color-info-subtle:#ecfeff;--tm-color-info-text:#164e63;--tm-color-primary-soft-border:var(--tm-color-primary-200);--tm-color-success-soft-border:#bbf7d0;--tm-color-warning-soft-border:#fde68a;--tm-color-danger-soft-border:#fecaca;--tm-color-info-soft-border:#a5f3fc;--tm-color-white:#ffffff;--tm-color-gray-50:#f9fafb;--tm-color-gray-100:#f3f4f6;--tm-color-gray-200:#e5e7eb;--tm-color-gray-300:#d1d5db;--tm-color-gray-400:#9ca3af;--tm-color-gray-500:#6b7280;--tm-color-gray-600:#4b5563;--tm-color-gray-700:#374151;--tm-color-gray-800:#1f2937;--tm-color-gray-900:#111827;--tm-bg-page:var(--tm-color-white);--tm-bg-surface:var(--tm-color-white);--tm-bg-surface-secondary:var(--tm-color-gray-50);--tm-bg-muted:var(--tm-color-gray-100);--tm-bg-overlay:rgba(0,0,0,0.5);--tm-border-color:var(--tm-color-gray-200);--tm-border-color-focus:var(--tm-color-primary);--tm-text-primary:var(--tm-color-gray-900);--tm-text-secondary:var(--tm-color-gray-500);--tm-text-tertiary:var(--tm-color-gray-400);--tm-text-disabled:var(--tm-color-gray-400);--tm-text-inverse:var(--tm-color-white);--tm-text-link:var(--tm-color-primary);--tm-font-sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--tm-font-mono:ui-monospace,'Cascadia Code','Source Code Pro',Menlo,monospace;--tm-font-size-xs:0.75rem;--tm-font-size-sm:0.875rem;--tm-font-size-md:1rem;--tm-font-size-lg:1.125rem;--tm-font-size-xl:1.25rem;--tm-font-size-2xl:1.5rem;--tm-font-size-3xl:1.875rem;--tm-font-weight-normal:400;--tm-font-weight-medium:500;--tm-font-weight-semibold:600;--tm-font-weight-bold:700;--tm-line-height-tight:1.25;--tm-line-height-normal:1.5;--tm-line-height-relaxed:1.75;--tm-space-1:0.25rem;--tm-space-2:0.5rem;--tm-space-3:0.75rem;--tm-space-4:1rem;--tm-space-5:1.25rem;--tm-space-6:1.5rem;--tm-space-8:2rem;--tm-space-10:2.5rem;--tm-space-12:3rem;--tm-space-16:4rem;--tm-radius-none:0;--tm-radius-sm:0.25rem;--tm-radius-md:0.375rem;--tm-radius-lg:0.5rem;--tm-radius-xl:0.75rem;--tm-radius-2xl:1rem;--tm-radius-full:9999px;--tm-shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--tm-shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);--tm-shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);--tm-shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1);--tm-shadow-focus:0 0 0 3px rgba(59,130,246,0.4);--tm-shadow-focus-danger:0 0 0 3px rgba(239,68,68,0.3);--tm-transition-fast:100ms ease;--tm-transition-normal:200ms ease;--tm-transition-slow:300ms ease;--tm-z-dropdown:1000;--tm-z-sticky:1020;--tm-z-modal:1040;--tm-z-overlay:1060;--tm-z-toast:1080;--tm-z-tooltip:1090;--tm-input-height-xs:1.75rem;--tm-input-height-sm:2rem;--tm-input-height-md:2.375rem;--tm-input-height-lg:2.75rem;--tm-sidebar-width:16rem;--tm-sidebar-collapsed:3.5rem;--tm-topbar-height:3.5rem;}
[data-theme="dark"],.tm-dark{--tm-bg-page:#0f172a;--tm-bg-surface:#1e293b;--tm-bg-surface-secondary:#0f172a;--tm-bg-muted:#334155;--tm-bg-overlay:rgba(0,0,0,0.7);--tm-border-color:#334155;--tm-text-primary:#f1f5f9;--tm-text-secondary:#94a3b8;--tm-text-tertiary:#64748b;--tm-text-disabled:#475569;--tm-text-inverse:#0f172a;--tm-color-primary:var(--tm-color-primary-400);--tm-color-primary-hover:var(--tm-color-primary-300);--tm-color-primary-text:var(--tm-color-primary-300);--tm-color-primary-subtle:rgba(59,130,246,0.15);--tm-color-success:#4ade80;--tm-color-success-hover:#86efac;--tm-color-success-subtle:rgba(34,197,94,0.15);--tm-color-success-text:#86efac;--tm-color-warning:#fbbf24;--tm-color-warning-hover:#fcd34d;--tm-color-warning-subtle:rgba(245,158,11,0.15);--tm-color-warning-text:#fcd34d;--tm-color-danger:#f87171;--tm-color-danger-hover:#fca5a5;--tm-color-danger-subtle:rgba(239,68,68,0.15);--tm-color-danger-text:#fca5a5;--tm-color-info:#38bdf8;--tm-color-info-hover:#7dd3fc;--tm-color-info-subtle:rgba(6,182,212,0.15);--tm-color-info-text:#7dd3fc;--tm-color-primary-soft-border:rgba(96,165,250,0.3);--tm-color-success-soft-border:rgba(74,222,128,0.3);--tm-color-warning-soft-border:rgba(251,191,36,0.3);--tm-color-danger-soft-border:rgba(248,113,113,0.3);--tm-color-info-soft-border:rgba(56,189,248,0.3);--tm-color-gray-50:#1e293b;--tm-color-gray-100:#334155;--tm-color-gray-200:#475569;--tm-color-gray-300:#64748b;--tm-color-gray-400:#94a3b8;--tm-color-gray-500:#cbd5e1;--tm-color-gray-600:#e2e8f0;--tm-color-gray-700:#f1f5f9;--tm-color-gray-800:#f8fafc;--tm-color-gray-900:#ffffff;--tm-shadow-sm:0 1px 2px 0 rgba(0,0,0,0.3);--tm-shadow-md:0 4px 6px -1px rgba(0,0,0,0.4),0 2px 4px -2px rgba(0,0,0,0.3);--tm-shadow-lg:0 10px 15px -3px rgba(0,0,0,0.5),0 4px 6px -4px rgba(0,0,0,0.4);--tm-shadow-xl:0 20px 25px -5px rgba(0,0,0,0.5),0 8px 10px -6px rgba(0,0,0,0.4);--tm-shadow-focus:0 0 0 3px rgba(96,165,250,0.5);}
*,*::before,*::after{box-sizing:border-box;}
.tm-root,[data-tm]{font-family:var(--tm-font-sans);font-size:var(--tm-font-size-md);color:var(--tm-text-primary);line-height:var(--tm-line-height-normal);background-color:var(--tm-bg-page);}
:focus-visible{outline:2px solid var(--tm-border-color-focus);outline-offset:2px;}
.tm-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}
.tm-text-center{text-align:center;}
.tm-text-right{text-align:right;}
.tm-root::-webkit-scrollbar{width:6px;height:6px;}
.tm-root::-webkit-scrollbar-track{background:var(--tm-bg-muted);}
.tm-root::-webkit-scrollbar-thumb{background:var(--tm-color-gray-300);border-radius:var(--tm-radius-full);}
@keyframes tm-spin{from{transform:rotate(0deg);}
to{transform:rotate(360deg);}
}
@keyframes tm-pulse{0%,100%{opacity:1;}
50%{opacity:0.4;}
}
@keyframes tm-fade-in{from{opacity:0;transform:translateY(-4px);}
to{opacity:1;transform:translateY(0);}
}
@keyframes tm-fade-out{from{opacity:1;transform:translateY(0);}
to{opacity:0;transform:translateY(-4px);}
}
@keyframes tm-slide-in-right{from{opacity:0;transform:translateX(1rem);}
to{opacity:1;transform:translateX(0);}
}
@keyframes tm-shimmer{from{background-position:-200% 0;}
to{background-position:200% 0;}
}
.tm-animate-spin{animation:tm-spin 1s linear infinite;}
.tm-animate-pulse{animation:tm-pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;}
.tm-animate-fade-in{animation:tm-fade-in var(--tm-transition-normal) ease forwards;}
.tm-animate-fade-out{animation:tm-fade-out var(--tm-transition-normal) ease forwards;}
.tm-animate-slide-in{animation:tm-slide-in-right var(--tm-transition-normal) ease forwards;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}
}
@media (max-width:640px){.tm-hide-sm{display:none !important;}
}
@media (max-width:768px){.tm-hide-mobile{display:none !important;}
.tm-data-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tm-date-range-picker{flex-direction:column;}
.tm-datetime-range-picker{flex-direction:column;}
.tm-form-row{flex-direction:column;}
}
@media (min-width:769px){.tm-hide-desktop{display:none !important;}
}
@media (min-width:1024px){.tm-hide-lg-up{display:none !important;}
}
.tm-icon{display:inline-block;flex-shrink:0;vertical-align:middle;}
.tm-icon-xs{width:0.75rem;height:0.75rem;}
.tm-icon-sm{width:1rem;height:1rem;}
.tm-icon-md{width:1.25rem;height:1.25rem;}
.tm-icon-lg{width:1.5rem;height:1.5rem;}
.tm-icon-xl{width:2rem;height:2rem;}
.tm-icon-current{color:currentColor;}
.tm-icon-primary{color:var(--tm-color-primary);}
.tm-icon-danger{color:var(--tm-color-danger);}
.tm-icon-success{color:var(--tm-color-success);}
.tm-icon-warning{color:var(--tm-color-warning);}
.tm-icon-muted{color:var(--tm-text-secondary);}
.tm-spinner{animation:tm-spin 0.8s linear infinite;flex-shrink:0;}
.tm-spinner-xs{width:0.875rem;height:0.875rem;}
.tm-spinner-sm{width:1.125rem;height:1.125rem;}
.tm-spinner-md{width:1.5rem;height:1.5rem;}
.tm-spinner-lg{width:2.5rem;height:2.5rem;}
.tm-spinner-current{color:currentColor;}
.tm-spinner-primary{color:var(--tm-color-primary);}
.tm-spinner-white{color:var(--tm-color-white);}
.tm-spinner-muted{color:var(--tm-text-secondary);}
.tm-skeleton{background:linear-gradient( 90deg,var(--tm-color-gray-200) 25%,var(--tm-bg-surface-secondary) 50%,var(--tm-color-gray-200) 75% );background-size:200% 100%;animation:tm-shimmer 1.5s ease-in-out infinite;}
.tm-skeleton-text{height:1em;border-radius:var(--tm-radius-sm);}
.tm-skeleton-circle{border-radius:var(--tm-radius-full);}
.tm-skeleton-rectangle{border-radius:var(--tm-radius-md);}
.tm-sidebar{display:flex;flex-direction:column;height:100%;width:var(--tm-sidebar-width);background-color:var(--tm-bg-surface);border-right:1px solid var(--tm-border-color);transition:width var(--tm-transition-slow);overflow:hidden;}
.tm-sidebar-collapsed{width:var(--tm-sidebar-collapsed);}
.tm-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tm-space-4);border-bottom:1px solid var(--tm-border-color);flex-shrink:0;height:var(--tm-topbar-height);}
.tm-sidebar-logo{font-size:var(--tm-font-size-lg);font-weight:var(--tm-font-weight-bold);color:var(--tm-text-primary);white-space:nowrap;overflow:hidden;}
.tm-sidebar-toggle{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--tm-radius-md);border:none;background:none;color:var(--tm-text-secondary);cursor:pointer;flex-shrink:0;transition:background-color var(--tm-transition-fast);}
.tm-sidebar-toggle:hover{background-color:var(--tm-color-gray-100);}
.tm-sidebar-nav{flex:1;padding:var(--tm-space-2);overflow-y:auto;}
.tm-sidebar-nav-item{display:flex;align-items:center;gap:var(--tm-space-3);width:100%;padding:var(--tm-space-2) var(--tm-space-3);font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-secondary);border-radius:var(--tm-radius-md);border:none;background:none;cursor:pointer;text-align:left;text-decoration:none;white-space:nowrap;overflow:hidden;transition:background-color var(--tm-transition-fast),color var(--tm-transition-fast);}
.tm-sidebar-nav-item:hover{background-color:var(--tm-color-gray-100);color:var(--tm-text-primary);}
.tm-sidebar-nav-item-active{background-color:var(--tm-color-primary-subtle);color:var(--tm-color-primary);}
.tm-sidebar-nav-item-active:hover{background-color:var(--tm-color-primary-subtle);}
.tm-sidebar-nav-item-icon{flex-shrink:0;}
.tm-sidebar-nav-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;}
.tm-sidebar-nav-item-badge{flex-shrink:0;}
.tm-sidebar-footer{padding:var(--tm-space-3) var(--tm-space-4);border-top:1px solid var(--tm-border-color);flex-shrink:0;}
.tm-topbar{display:flex;align-items:center;gap:var(--tm-space-3);height:var(--tm-topbar-height);padding:0 var(--tm-space-4);background-color:var(--tm-bg-surface);border-bottom:1px solid var(--tm-border-color);position:sticky;top:0;z-index:var(--tm-z-sticky);}
.tm-topbar-brand{font-size:var(--tm-font-size-lg);font-weight:var(--tm-font-weight-bold);color:var(--tm-text-primary);text-decoration:none;}
.tm-topbar-spacer{flex:1;}
.tm-topbar-actions{display:flex;align-items:center;gap:var(--tm-space-1);}
.tm-topbar-icon-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;color:var(--tm-text-secondary);border-radius:var(--tm-radius-md);border:none;background:none;cursor:pointer;position:relative;transition:background-color var(--tm-transition-fast),color var(--tm-transition-fast);}
.tm-topbar-icon-btn:hover{background-color:var(--tm-color-gray-100);color:var(--tm-text-primary);}
.tm-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);}
.tm-breadcrumb-list{display:flex;align-items:center;flex-wrap:wrap;list-style:none;margin:0;padding:0;gap:var(--tm-space-1);}
.tm-breadcrumb-item{display:flex;align-items:center;}
.tm-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--tm-space-1);color:var(--tm-text-secondary);text-decoration:none;border-radius:var(--tm-radius-sm);padding:var(--tm-space-1) var(--tm-space-2);transition:color var(--tm-transition-fast);background:none;border:none;cursor:pointer;font:inherit;}
.tm-breadcrumb-link:hover{color:var(--tm-text-primary);background:var(--tm-bg-muted);}
.tm-breadcrumb-text{display:inline-flex;align-items:center;gap:var(--tm-space-1);padding:var(--tm-space-1) var(--tm-space-2);}
.tm-breadcrumb-current{color:var(--tm-text-primary);font-weight:var(--tm-font-weight-medium);}
.tm-breadcrumb-separator{color:var(--tm-text-disabled);display:flex;align-items:center;padding:0 var(--tm-space-1);}
.tm-toolbar{display:flex;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-2) var(--tm-space-4);background:var(--tm-bg-surface);border-bottom:1px solid var(--tm-border-color);min-height:3rem;}
.tm-toolbar--sticky{position:sticky;top:0;z-index:100;}
.tm-toolbar-start{display:flex;align-items:center;gap:var(--tm-space-2);flex:1;min-width:0;}
.tm-toolbar-actions{display:flex;align-items:center;gap:var(--tm-space-2);flex-shrink:0;}
.tm-toolbar-title{font-weight:var(--tm-font-weight-semibold);font-size:var(--tm-font-size-base);white-space:nowrap;}
.tm-toolbar-divider{width:1px;height:1.5rem;background:var(--tm-border-color);display:inline-block;margin:0 var(--tm-space-1);align-self:center;}
.tm-toolbar-btn{display:inline-flex;align-items:center;gap:var(--tm-space-1);padding:var(--tm-space-1) var(--tm-space-2);background:none;border:none;border-radius:var(--tm-radius-md);cursor:pointer;font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);white-space:nowrap;transition:background var(--tm-transition-fast),color var(--tm-transition-fast);}
.tm-toolbar-btn:hover:not(:disabled){background:var(--tm-bg-muted);color:var(--tm-text-primary);}
.tm-toolbar-btn:disabled{opacity:0.5;cursor:not-allowed;}
.tm-toolbar-btn--primary{background:var(--tm-color-primary);color:white;}
.tm-toolbar-btn--primary:hover:not(:disabled){filter:brightness(0.9);color:white;}
.tm-toolbar-btn--danger{color:var(--tm-color-danger);}
.tm-toolbar-btn--danger:hover:not(:disabled){background:var(--tm-color-danger-subtle);color:var(--tm-color-danger);}
.tm-toolbar-btn-text{display:inline;}
.tm-drawer__overlay{position:fixed;inset:0;z-index:var(--tm-z-modal-overlay,1040);background-color:rgba(0,0,0,0.5);animation:tm-fade-in 0.2s ease;}
.tm-drawer{position:fixed;top:0;bottom:0;z-index:var(--tm-z-modal,1050);display:flex;}
.tm-drawer--right{right:0;}
.tm-drawer--left{left:0;}
.tm-drawer__panel{display:flex;flex-direction:column;height:100%;max-width:100vw;background-color:#fff;box-shadow:-4px 0 24px rgba(0,0,0,0.12),-1px 0 8px rgba(0,0,0,0.06);overflow:hidden;}
.tm-drawer--right .tm-drawer__panel{animation:tm-drawer-slide-right 0.25s ease;}
.tm-drawer--left .tm-drawer__panel{animation:tm-drawer-slide-left 0.25s ease;box-shadow:4px 0 24px rgba(0,0,0,0.12),1px 0 8px rgba(0,0,0,0.06);}
@keyframes tm-drawer-slide-right{from{transform:translateX(100%);}
to{transform:translateX(0);}
}
@keyframes tm-drawer-slide-left{from{transform:translateX(-100%);}
to{transform:translateX(0);}
}
.tm-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--tm-color-neutral-200);flex-shrink:0;}
.tm-drawer__title{font-size:1.125rem;font-weight:600;color:var(--tm-color-neutral-900);margin:0;line-height:1.5;}
.tm-drawer__close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:none;border-radius:var(--tm-radius-md);color:var(--tm-color-neutral-500);cursor:pointer;transition:background-color 0.15s ease,color 0.15s ease;flex-shrink:0;margin-left:auto;}
.tm-drawer__close:hover{background-color:var(--tm-color-neutral-100);color:var(--tm-color-neutral-700);}
.tm-drawer__close:focus-visible{outline:2px solid var(--tm-color-primary-500);outline-offset:-2px;}
.tm-drawer__body{flex:1;overflow-y:auto;padding:1.25rem;}
.tm-drawer__footer{display:flex;align-items:center;gap:0.5rem;padding:1rem 1.25rem;border-top:1px solid var(--tm-color-neutral-200);flex-shrink:0;}
[data-theme="dark"] .tm-drawer__overlay,.tm-dark .tm-drawer__overlay{background-color:rgba(0,0,0,0.7);}
[data-theme="dark"] .tm-drawer__panel,.tm-dark .tm-drawer__panel{background-color:var(--tm-color-neutral-900);box-shadow:-4px 0 24px rgba(0,0,0,0.4);}
[data-theme="dark"] .tm-drawer--left .tm-drawer__panel,.tm-dark .tm-drawer--left .tm-drawer__panel{box-shadow:4px 0 24px rgba(0,0,0,0.4);}
[data-theme="dark"] .tm-drawer__header,.tm-dark .tm-drawer__header{border-bottom-color:var(--tm-color-neutral-700);}
[data-theme="dark"] .tm-drawer__title,.tm-dark .tm-drawer__title{color:var(--tm-color-neutral-100);}
[data-theme="dark"] .tm-drawer__close,.tm-dark .tm-drawer__close{color:var(--tm-color-neutral-400);}
[data-theme="dark"] .tm-drawer__close:hover,.tm-dark .tm-drawer__close:hover{background-color:var(--tm-color-neutral-800);color:var(--tm-color-neutral-200);}
[data-theme="dark"] .tm-drawer__footer,.tm-dark .tm-drawer__footer{border-top-color:var(--tm-color-neutral-700);}
@media (prefers-reduced-motion:reduce){.tm-drawer__panel,.tm-drawer__overlay{animation:none;}
}
@media (max-width:640px){.tm-drawer__panel{width:100% !important;max-width:100vw;}
}
.tm-section{border:1px solid var(--tm-border-color,#e2e8f0);border-radius:var(--tm-radius-lg,0.5rem);background:var(--tm-bg-surface,#fff);overflow:hidden;}
.tm-section+.tm-section{margin-top:var(--tm-space-4,1rem);}
.tm-section-header{display:flex;align-items:center;gap:var(--tm-space-3,0.75rem);padding:var(--tm-space-4,1rem) var(--tm-space-5,1.25rem);border-bottom:1px solid var(--tm-border-color,#e2e8f0);background:var(--tm-bg-surface-secondary,#f8fafc);user-select:none;}
.tm-section--collapsed .tm-section-header{border-bottom:none;}
.tm-section-header-icon{display:flex;align-items:center;color:var(--tm-color-primary,#3b82f6);}
.tm-section-title{margin:0;font-size:var(--tm-font-size-sm,0.875rem);font-weight:var(--tm-font-weight-semibold,600);color:var(--tm-text-primary,#0f172a);flex:1;}
.tm-section-actions{display:flex;align-items:center;gap:var(--tm-space-2,0.5rem);margin-left:auto;}
.tm-section--collapsible .tm-section-header{cursor:pointer;transition:background-color 0.15s ease;}
.tm-section--collapsible .tm-section-header:hover{background:var(--tm-bg-hover,#f1f5f9);}
.tm-section-chevron{display:flex;align-items:center;color:var(--tm-text-tertiary,#94a3b8);transition:transform 0.2s ease;}
.tm-section--collapsed .tm-section-chevron{transform:rotate(-90deg);}
.tm-section-content{padding:var(--tm-space-5,1.25rem);}
.tm-keyboard-shortcuts-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.5);z-index:var(--tm-z-modal,1000);animation:tm-fade-in 0.15s ease;}
.tm-keyboard-shortcuts-modal{background:var(--tm-bg-surface,#fff);border-radius:var(--tm-radius-xl,0.75rem);box-shadow:var(--tm-shadow-xl,0 20px 25px -5px rgba(0,0,0,.1));width:min(32rem,90vw);max-height:80vh;display:flex;flex-direction:column;overflow:hidden;}
.tm-keyboard-shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tm-space-5,1.25rem) var(--tm-space-6,1.5rem);border-bottom:1px solid var(--tm-border-color,#e2e8f0);}
.tm-keyboard-shortcuts-title{margin:0;font-size:var(--tm-font-size-lg,1.125rem);font-weight:var(--tm-font-weight-semibold,600);color:var(--tm-text-primary,#0f172a);}
.tm-keyboard-shortcuts-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:none;border-radius:var(--tm-radius-sm,0.25rem);cursor:pointer;color:var(--tm-text-tertiary,#94a3b8);transition:background-color 0.15s ease,color 0.15s ease;}
.tm-keyboard-shortcuts-close:hover{background:var(--tm-bg-hover,#f1f5f9);color:var(--tm-text-primary,#0f172a);}
.tm-keyboard-shortcuts-content{padding:var(--tm-space-5,1.25rem) var(--tm-space-6,1.5rem);overflow-y:auto;display:flex;flex-direction:column;gap:var(--tm-space-5,1.25rem);}
.tm-keyboard-shortcuts-category-title{margin:0 0 var(--tm-space-3,0.75rem);font-size:var(--tm-font-size-sm,0.875rem);font-weight:var(--tm-font-weight-semibold,600);color:var(--tm-text-secondary,#475569);text-transform:uppercase;letter-spacing:0.05em;}
.tm-keyboard-shortcuts-list{display:flex;flex-direction:column;gap:var(--tm-space-2,0.5rem);}
.tm-keyboard-shortcuts-item{display:flex;align-items:center;justify-content:space-between;padding:var(--tm-space-2,0.5rem) 0;}
.tm-keyboard-shortcuts-key{display:flex;align-items:center;gap:var(--tm-space-1,0.25rem);}
.tm-keyboard-shortcuts-key kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.5rem;padding:0 var(--tm-space-2,0.5rem);font-size:var(--tm-font-size-xs,0.75rem);font-family:inherit;font-weight:var(--tm-font-weight-medium,500);color:var(--tm-text-primary,#0f172a);background:var(--tm-bg-surface-secondary,#f8fafc);border:1px solid var(--tm-border-color,#e2e8f0);border-radius:var(--tm-radius-sm,0.25rem);box-shadow:0 1px 0 rgba(0,0,0,0.05);}
.tm-keyboard-shortcuts-description{font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-text-secondary,#475569);}
.tm-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--tm-space-2);font-family:var(--tm-font-sans);font-weight:var(--tm-font-weight-medium);border-radius:var(--tm-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color var(--tm-transition-fast),border-color var(--tm-transition-fast),color var(--tm-transition-fast),box-shadow var(--tm-transition-fast),opacity var(--tm-transition-fast);outline:none;position:relative;user-select:none;-webkit-user-select:none;}
.tm-btn:focus-visible{box-shadow:var(--tm-shadow-focus);}
.tm-btn:disabled,.tm-btn[disabled]{opacity:0.5;cursor:not-allowed;pointer-events:none;}
.tm-btn-xs{height:var(--tm-input-height-xs);padding:0 var(--tm-space-2);font-size:var(--tm-font-size-xs);}
.tm-btn-sm{height:var(--tm-input-height-sm);padding:0 var(--tm-space-3);font-size:var(--tm-font-size-sm);}
.tm-btn-md{height:var(--tm-input-height-md);padding:0 var(--tm-space-4);font-size:var(--tm-font-size-sm);}
.tm-btn-lg{height:var(--tm-input-height-lg);padding:0 var(--tm-space-5);font-size:var(--tm-font-size-md);}
.tm-btn-block{width:100%;}
.tm-btn-primary{background-color:var(--tm-color-primary);border-color:var(--tm-color-primary);color:var(--tm-color-white);}
.tm-btn-primary:hover:not(:disabled){background-color:var(--tm-color-primary-hover);border-color:var(--tm-color-primary-hover);}
.tm-btn-primary:active:not(:disabled){background-color:var(--tm-color-primary-active);}
.tm-btn-secondary{background-color:var(--tm-bg-surface);border-color:var(--tm-border-color);color:var(--tm-text-primary);}
.tm-btn-secondary:hover:not(:disabled){background-color:var(--tm-color-gray-50);}
.tm-btn-ghost{background-color:transparent;border-color:transparent;color:var(--tm-text-primary);}
.tm-btn-ghost:hover:not(:disabled){background-color:var(--tm-color-gray-100);}
.tm-btn-danger{background-color:var(--tm-color-danger);border-color:var(--tm-color-danger);color:var(--tm-color-white);}
.tm-btn-danger:hover:not(:disabled){background-color:var(--tm-color-danger-hover);}
.tm-btn-danger:focus-visible{box-shadow:var(--tm-shadow-focus-danger);}
.tm-btn-outline{background-color:transparent;border-color:var(--tm-color-primary);color:var(--tm-color-primary);}
.tm-btn-outline:hover:not(:disabled){background-color:var(--tm-color-primary-subtle);}
.tm-btn-link{background-color:transparent;border-color:transparent;color:var(--tm-color-primary);text-decoration:underline;text-underline-offset:3px;padding:0;height:auto;}
.tm-btn-link:hover:not(:disabled){color:var(--tm-color-primary-hover);}
.tm-btn-default{background-color:var(--tm-bg-surface);border-color:var(--tm-border-color);color:var(--tm-text-primary);}
.tm-btn-default:hover:not(:disabled){background-color:var(--tm-color-gray-50);}
.tm-split-button{display:inline-flex;position:relative;border-radius:var(--tm-radius-md);}
.tm-split-button__primary{display:inline-flex;align-items:center;gap:0.375rem;padding:0.5rem 0.875rem;font-size:0.875rem;font-weight:500;line-height:1.25rem;border:none;border-radius:var(--tm-radius-md) 0 0 var(--tm-radius-md);cursor:pointer;transition:background-color 0.15s ease;}
.tm-split-button__toggle{display:inline-flex;align-items:center;justify-content:center;padding:0.5rem 0.5rem;font-size:0.875rem;border:none;border-left:1px solid rgba(255,255,255,0.2);border-radius:0 var(--tm-radius-md) var(--tm-radius-md) 0;cursor:pointer;transition:background-color 0.15s ease;}
.tm-split-button__spinner{display:inline-block;width:1rem;height:1rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:tm-spin 0.6s linear infinite;}
.tm-split-button__dropdown{position:absolute;top:100%;right:0;z-index:var(--tm-z-dropdown,1020);min-width:10rem;padding:0.25rem;margin-top:0.25rem;background-color:#fff;border:1px solid var(--tm-color-neutral-200);border-radius:var(--tm-radius-lg);box-shadow:0 4px 16px rgba(0,0,0,0.1),0 1px 4px rgba(0,0,0,0.06);animation:tm-fade-in 0.12s ease;}
.tm-split-button--disabled .tm-split-button__primary,.tm-split-button--disabled .tm-split-button__toggle{opacity:0.6;cursor:not-allowed;}
.tm-split-button--primary .tm-split-button__primary,.tm-split-button--primary .tm-split-button__toggle{background-color:var(--tm-color-primary-600);color:#fff;}
.tm-split-button--primary .tm-split-button__primary:hover:not(:disabled),.tm-split-button--primary .tm-split-button__toggle:hover:not(:disabled){background-color:var(--tm-color-primary-700);}
.tm-split-button--secondary .tm-split-button__primary,.tm-split-button--secondary .tm-split-button__toggle{background-color:var(--tm-color-neutral-100);color:var(--tm-color-neutral-700);border-left-color:var(--tm-color-neutral-300);}
.tm-split-button--secondary .tm-split-button__primary:hover:not(:disabled),.tm-split-button--secondary .tm-split-button__toggle:hover:not(:disabled){background-color:var(--tm-color-neutral-200);}
.tm-split-button--danger .tm-split-button__primary,.tm-split-button--danger .tm-split-button__toggle{background-color:var(--tm-color-danger-600,#dc2626);color:#fff;}
.tm-split-button--danger .tm-split-button__primary:hover:not(:disabled),.tm-split-button--danger .tm-split-button__toggle:hover:not(:disabled){background-color:var(--tm-color-danger-700,#b91c1c);}
.tm-split-button--xs .tm-split-button__primary{padding:0.25rem 0.5rem;font-size:0.75rem;}
.tm-split-button--xs .tm-split-button__toggle{padding:0.25rem 0.375rem;}
.tm-split-button--sm .tm-split-button__primary{padding:0.375rem 0.75rem;font-size:0.8125rem;}
.tm-split-button--sm .tm-split-button__toggle{padding:0.375rem 0.4375rem;}
.tm-split-button--lg .tm-split-button__primary{padding:0.625rem 1.25rem;font-size:1rem;}
.tm-split-button--lg .tm-split-button__toggle{padding:0.625rem 0.75rem;}
[data-theme="dark"] .tm-split-button__dropdown,.tm-dark .tm-split-button__dropdown{background-color:var(--tm-color-neutral-800);border-color:var(--tm-color-neutral-700);box-shadow:0 4px 16px rgba(0,0,0,0.35);}
[data-theme="dark"] .tm-split-button--secondary .tm-split-button__primary,[data-theme="dark"] .tm-split-button--secondary .tm-split-button__toggle,.tm-dark .tm-split-button--secondary .tm-split-button__primary,.tm-dark .tm-split-button--secondary .tm-split-button__toggle{background-color:var(--tm-color-neutral-700);color:var(--tm-color-neutral-200);border-left-color:var(--tm-color-neutral-600);}
[data-theme="dark"] .tm-split-button--secondary .tm-split-button__primary:hover:not(:disabled),[data-theme="dark"] .tm-split-button--secondary .tm-split-button__toggle:hover:not(:disabled),.tm-dark .tm-split-button--secondary .tm-split-button__primary:hover:not(:disabled),.tm-dark .tm-split-button--secondary .tm-split-button__toggle:hover:not(:disabled){background-color:var(--tm-color-neutral-600);}
.tm-input-wrapper{display:flex;flex-direction:column;gap:var(--tm-space-1);}
.tm-input-label{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-primary);line-height:var(--tm-line-height-tight);}
.tm-input-label-required::after{content:' *';color:var(--tm-color-danger);}
.tm-input-container{position:relative;display:flex;align-items:center;}
.tm-input{width:100%;height:var(--tm-input-height-md);padding:0 var(--tm-space-3);font-family:var(--tm-font-sans);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);background-color:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);outline:none;transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-input::placeholder{color:var(--tm-text-secondary);}
.tm-input::-webkit-search-decoration,.tm-input::-webkit-search-cancel-button,.tm-input::-webkit-search-results-button,.tm-input::-webkit-search-results-decoration{display:none;}
.tm-input:focus{border-color:var(--tm-border-color-focus);box-shadow:var(--tm-shadow-focus);}
.tm-input-valid{border-color:var(--tm-color-success) !important;background-color:var(--tm-bg-surface);}
.tm-input-valid:focus{box-shadow:0 0 0 3px rgba(34,197,94,0.15) !important;}
.tm-input-error,.tm-input.input-error{border-color:var(--tm-color-danger) !important;}
.tm-input-error:focus{box-shadow:var(--tm-shadow-focus-danger) !important;}
.tm-input-with-validation-icon{padding-right:2.25rem;}
.tm-input-validation-icon{position:absolute;right:var(--tm-space-3);top:50%;transform:translateY(-50%);display:flex;align-items:center;pointer-events:none;}
.tm-input-validation-success{color:var(--tm-color-success);}
.tm-input-validation-error{color:var(--tm-color-danger);}
.tm-input-disabled,.tm-input[disabled]{background-color:var(--tm-color-gray-50);color:var(--tm-text-disabled);cursor:not-allowed;}
.tm-input-readonly{background-color:var(--tm-bg-surface-secondary);cursor:default;}
.tm-input-with-left-icon{padding-left:2.25rem;}
.tm-input-with-right-icon{padding-right:2.25rem;}
.tm-input-left-icon,.tm-input-right-icon{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;color:var(--tm-text-secondary);pointer-events:none;}
.tm-input-left-icon{left:var(--tm-space-3);}
.tm-input-right-icon{right:var(--tm-space-3);}
.tm-input-help-text{font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);line-height:var(--tm-line-height-tight);}
.tm-input-error-message{font-size:var(--tm-font-size-xs);color:var(--tm-color-danger);line-height:var(--tm-line-height-tight);display:flex;align-items:center;gap:var(--tm-space-1);margin-top:var(--tm-space-1);}
.tm-input-error-message svg{flex-shrink:0;}
.tm-password-toggle{position:absolute;right:var(--tm-space-3);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;color:var(--tm-text-secondary);background:none;border:none;cursor:pointer;padding:0;border-radius:var(--tm-radius-sm);transition:color var(--tm-transition-fast);}
.tm-password-toggle:hover{color:var(--tm-text-primary);}
.tm-search-clear{position:absolute;right:var(--tm-space-2);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;color:var(--tm-text-secondary);background:none;border:none;cursor:pointer;padding:0;border-radius:var(--tm-radius-sm);transition:color var(--tm-transition-fast),background-color var(--tm-transition-fast);}
.tm-search-clear:hover{color:var(--tm-text-primary);background-color:var(--tm-bg-surface-secondary);}
.tm-search-clear:focus{outline:none;box-shadow:var(--tm-shadow-focus);}
.tm-textarea{resize:vertical;height:auto;min-height:5rem;padding:var(--tm-space-2) var(--tm-space-3);line-height:var(--tm-line-height-normal);}
.tm-select-wrapper{display:flex;flex-direction:column;gap:var(--tm-space-1);}
.tm-select-label{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-primary);}
.tm-select-container{position:relative;}
.tm-select{width:100%;height:var(--tm-input-height-md);padding:0 2.25rem 0 var(--tm-space-3);font-family:var(--tm-font-sans);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);background-color:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);outline:none;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-select:focus{border-color:var(--tm-border-color-focus);box-shadow:var(--tm-shadow-focus);}
.tm-select-error{border-color:var(--tm-color-danger) !important;}
.tm-select-disabled,.tm-select[disabled]{background-color:var(--tm-color-gray-50);cursor:not-allowed;}
.tm-select-arrow{position:absolute;right:var(--tm-space-3);top:50%;transform:translateY(-50%);pointer-events:none;color:var(--tm-text-secondary);display:flex;align-items:center;}
.tm-select-error-message,.tm-select-help-text{font-size:var(--tm-font-size-xs);margin-top:var(--tm-space-1);}
.tm-select-error-message{color:var(--tm-color-danger);}
.tm-select-help-text{color:var(--tm-text-secondary);}
.tm-checkbox-wrapper{display:flex;flex-direction:column;gap:var(--tm-space-1);}
.tm-checkbox-label{display:inline-flex;align-items:center;gap:var(--tm-space-2);cursor:pointer;user-select:none;}
.tm-checkbox-input{position:absolute;opacity:0;width:0;height:0;}
.tm-checkbox-custom{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1rem;height:1rem;background-color:var(--tm-bg-surface);border:1.5px solid var(--tm-border-color);border-radius:var(--tm-radius-sm);transition:background-color var(--tm-transition-fast),border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-checkbox-input:checked~.tm-checkbox-custom,.tm-checkbox-input:indeterminate~.tm-checkbox-custom{background-color:var(--tm-color-primary);border-color:var(--tm-color-primary);}
.tm-checkbox-label:hover .tm-checkbox-custom{border-color:var(--tm-color-primary);}
.tm-checkbox-input:focus-visible~.tm-checkbox-custom{box-shadow:var(--tm-shadow-focus);}
.tm-checkbox-check,.tm-checkbox-indeterminate{color:var(--tm-color-white);}
.tm-checkbox-text{font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);line-height:var(--tm-line-height-tight);}
.tm-checkbox-help{font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);padding-left:1.5rem;}
.tm-checkbox-disabled .tm-checkbox-label{cursor:not-allowed;opacity:0.5;}
.tm-toggle-wrapper{display:inline-flex;align-items:center;gap:var(--tm-space-3);}
.tm-toggle-label{display:flex;align-items:center;cursor:pointer;}
.tm-toggle-input{position:absolute;opacity:0;width:0;height:0;}
.tm-toggle-track{position:relative;display:inline-block;width:2.5rem;height:1.375rem;background-color:var(--tm-color-gray-300);border-radius:var(--tm-radius-full);transition:background-color var(--tm-transition-normal);}
.tm-toggle-input:focus-visible~.tm-toggle-track{box-shadow:var(--tm-shadow-focus);}
.tm-toggle-slider{position:absolute;top:0.1875rem;left:0.1875rem;width:1rem;height:1rem;background-color:var(--tm-color-white);border-radius:50%;transition:transform var(--tm-transition-normal);box-shadow:var(--tm-shadow-sm);}
.tm-toggle-wrapper.tm-toggle-checked .tm-toggle-track{background-color:var(--tm-color-primary);}
.tm-toggle-wrapper.tm-toggle-checked .tm-toggle-slider{transform:translateX(1.125rem);}
.tm-toggle-label-text{font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);}
.tm-toggle-wrapper.tm-toggle-disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;}
.tm-radio-group{display:flex;flex-direction:column;gap:var(--tm-space-1);}
.tm-radio-group-label{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-primary);margin-bottom:var(--tm-space-2);}
.tm-radio-group-horizontal{flex-direction:row;flex-wrap:wrap;gap:var(--tm-space-4);}
.tm-radio-group-error-msg{font-size:var(--tm-font-size-xs);color:var(--tm-color-danger);}
.tm-radio-wrapper{display:flex;align-items:flex-start;gap:var(--tm-space-2);cursor:pointer;}
.tm-radio-wrapper-disabled{opacity:0.5;cursor:not-allowed;}
.tm-radio-input{position:absolute;opacity:0;width:0;height:0;}
.tm-radio-custom{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1rem;height:1rem;border-radius:50%;background-color:var(--tm-bg-surface);border:1.5px solid var(--tm-border-color);margin-top:0.125rem;transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-radio-input:checked~.tm-radio-custom{border-color:var(--tm-color-primary);}
.tm-radio-input:checked~.tm-radio-custom::after{content:'';display:block;width:0.375rem;height:0.375rem;border-radius:50%;background-color:var(--tm-color-primary);}
.tm-radio-wrapper:hover .tm-radio-custom{border-color:var(--tm-color-primary);}
.tm-radio-input:focus-visible~.tm-radio-custom{box-shadow:var(--tm-shadow-focus);}
.tm-radio-text{font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);line-height:1.375;}
.tm-radio-help{font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);}
.tm-search-input-wrapper{position:relative;display:flex;align-items:center;}
.tm-search-input-icon{position:absolute;left:var(--tm-space-3);color:var(--tm-text-secondary);pointer-events:none;display:flex;}
.tm-search-input{width:100%;height:var(--tm-input-height-md);padding:0 2.25rem 0 2.25rem;font-family:var(--tm-font-sans);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);background-color:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);outline:none;transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-search-input::placeholder{color:var(--tm-text-secondary);}
.tm-search-input:focus{border-color:var(--tm-border-color-focus);box-shadow:var(--tm-shadow-focus);}
.tm-search-input-clear{position:absolute;right:var(--tm-space-2);display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;color:var(--tm-text-secondary);background:none;border:none;cursor:pointer;padding:0;border-radius:var(--tm-radius-sm);transition:color var(--tm-transition-fast);}
.tm-search-input-clear:hover{color:var(--tm-text-primary);}
.tm-form-field{display:flex;flex-direction:column;gap:var(--tm-space-1);}
.tm-form-label{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-primary);}
.tm-form-label-required::after{content:' *';color:var(--tm-color-danger);}
.tm-form-help{font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);}
.tm-form-control{display:flex;flex-direction:column;gap:var(--tm-space-1);}
.tm-validation-message{display:flex;align-items:center;gap:var(--tm-space-1);font-size:var(--tm-font-size-xs);color:var(--tm-color-danger);line-height:var(--tm-line-height-tight);}
.tm-validation-icon{flex-shrink:0;width:0.875rem;height:0.875rem;}
.tm-form-section{margin-bottom:var(--tm-space-6);}
.tm-form-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--tm-space-2);padding-bottom:var(--tm-space-2);border-bottom:1px solid var(--tm-border-color);}
.tm-form-section-header--collapsible{cursor:pointer;user-select:none;}
.tm-form-section-header--collapsible:hover .tm-form-section-title{color:var(--tm-color-primary);}
.tm-form-section-title{font-size:var(--tm-font-size-base);font-weight:var(--tm-font-weight-semibold);margin:0;}
.tm-form-section-desc{font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);margin:0 0 var(--tm-space-3);}
.tm-form-section-toggle{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);}
.tm-form-section-body{display:flex;flex-direction:column;gap:var(--tm-space-4);}
.tm-form-row{display:grid;gap:var(--tm-space-4);}
.tm-form-row--cols-1{grid-template-columns:1fr;}
.tm-form-row--cols-2{grid-template-columns:repeat(2,1fr);}
.tm-form-row--cols-3{grid-template-columns:repeat(3,1fr);}
.tm-form-row--cols-4{grid-template-columns:repeat(4,1fr);}
.tm-form-field{display:flex;flex-direction:column;gap:var(--tm-space-1);}
.tm-form-field-label{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-secondary);}
.tm-form-field-required{color:var(--tm-color-danger);margin-left:0.125rem;}
.tm-form-field-control{display:contents;}
.tm-form-field-help{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);margin:0;}
.tm-form-field-error{font-size:var(--tm-font-size-xs);color:var(--tm-color-danger);margin:0;}
.tm-form-field--error .tm-form-field-label{color:var(--tm-color-danger);}
.tm-validation-summary{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--tm-radius-lg,0.5rem);padding:1rem 1.25rem;margin-bottom:1.5rem;animation:tm-fade-in var(--tm-transition-fast,0.15s) ease-out;}
.tm-validation-summary-header{display:flex;align-items:center;gap:0.75rem;}
.tm-validation-summary-icon{flex-shrink:0;width:1.25rem;height:1.25rem;color:#dc2626;display:flex;align-items:center;justify-content:center;}
.tm-validation-summary-title{font-size:0.9375rem;font-weight:600;color:#991b1b;margin:0;line-height:1.4;}
.tm-validation-summary-body{margin-top:0.75rem;padding-left:2rem;}
.tm-validation-summary-list{list-style:none;padding:0;margin:0;font-size:0.875rem;color:#b91c1c;}
.tm-validation-summary-list li{position:relative;padding:0.25rem 0 0.25rem 1rem;line-height:1.5;}
.tm-validation-summary-list li::before{content:'';position:absolute;left:0;top:0.65rem;width:5px;height:5px;background:#dc2626;border-radius:50%;}
[data-theme="dark"] .tm-validation-summary,.dark .tm-validation-summary{background:rgba(220,38,38,0.15);border-color:rgba(248,113,113,0.3);}
[data-theme="dark"] .tm-validation-summary-title,.dark .tm-validation-summary-title{color:#fca5a5;}
[data-theme="dark"] .tm-validation-summary-list,.dark .tm-validation-summary-list{color:#fca5a5;}
[data-theme="dark"] .tm-validation-summary-list li::before,.dark .tm-validation-summary-list li::before{background:#f87171;}
.tm-password-strength{display:flex;flex-direction:column;gap:var(--tm-spacing-1);}
.tm-password-strength-bar{height:6px;width:100%;background:var(--tm-color-border,#e5e7eb);border-radius:var(--tm-radius-full,9999px);overflow:hidden;}
.tm-password-strength-fill{height:100%;border-radius:var(--tm-radius-full,9999px);transition:width 0.5s ease-out,background-color 0.3s ease;}
.tm-password-strength-fill.tm-strength-0,.tm-password-strength-fill.tm-strength-1{background-color:var(--tm-color-error,#ef4444);}
.tm-password-strength-fill.tm-strength-2{background-color:var(--tm-color-warning,#f97316);}
.tm-password-strength-fill.tm-strength-3{background-color:#eab308;}
.tm-password-strength-fill.tm-strength-4{background-color:var(--tm-color-info,#3b82f6);}
.tm-password-strength-fill.tm-strength-5{background-color:var(--tm-color-success,#22c55e);}
.tm-password-strength-info{display:flex;align-items:center;justify-content:space-between;font-size:var(--tm-text-xs,0.75rem);line-height:1.4;}
.tm-password-strength-text{font-weight:500;}
.tm-password-strength-text.tm-strength-0,.tm-password-strength-text.tm-strength-1{color:var(--tm-color-error,#ef4444);}
.tm-password-strength-text.tm-strength-2{color:var(--tm-color-warning,#f97316);}
.tm-password-strength-text.tm-strength-3{color:#ca8a04;}
.tm-password-strength-text.tm-strength-4{color:var(--tm-color-info,#3b82f6);}
.tm-password-strength-text.tm-strength-5{color:var(--tm-color-success,#22c55e);}
.tm-password-strength-hint{color:var(--tm-color-text-muted,#6b7280);}
[data-theme="dark"] .tm-password-strength-bar,.tm-dark .tm-password-strength-bar{background:rgba(255,255,255,0.1);}
[data-theme="dark"] .tm-password-strength-hint,.tm-dark .tm-password-strength-hint{color:var(--tm-color-text-muted,#9ca3af);}
.tm-number-input{display:inline-flex;align-items:center;border:1px solid var(--tm-color-neutral-300);border-radius:var(--tm-radius-md);background-color:var(--tm-color-surface,#fff);transition:border-color 0.15s ease,box-shadow 0.15s ease;overflow:hidden;}
.tm-number-input:focus-within{border-color:var(--tm-color-primary-500);box-shadow:0 0 0 3px rgba(var(--tm-color-primary-500-rgb,59,130,246),0.15);}
.tm-number-input__input{flex:1;min-width:0;width:4rem;padding:0.5rem 0.5rem;font-size:0.875rem;font-weight:500;color:var(--tm-color-neutral-900);background:transparent;border:none;outline:none;text-align:center;-moz-appearance:textfield;}
.tm-number-input__input::-webkit-inner-spin-button,.tm-number-input__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.tm-number-input__increment,.tm-number-input__decrement{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background-color:var(--tm-color-neutral-50);border:none;color:var(--tm-color-neutral-600);cursor:pointer;transition:background-color 0.15s ease,color 0.15s ease;flex-shrink:0;}
.tm-number-input__increment:hover,.tm-number-input__decrement:hover{background-color:var(--tm-color-neutral-100);color:var(--tm-color-neutral-900);}
.tm-number-input__increment:active,.tm-number-input__decrement:active{background-color:var(--tm-color-neutral-200);}
.tm-number-input__increment:disabled,.tm-number-input__decrement:disabled{opacity:0.4;cursor:not-allowed;}
.tm-number-input__decrement{border-right:1px solid var(--tm-color-neutral-200);}
.tm-number-input__increment{border-left:1px solid var(--tm-color-neutral-200);}
.tm-number-input__prefix,.tm-number-input__suffix{font-size:0.8125rem;font-weight:500;color:var(--tm-color-neutral-500);padding:0 0.375rem;white-space:nowrap;user-select:none;}
.tm-number-input__prefix{padding-left:0.625rem;}
.tm-number-input__suffix{padding-right:0.625rem;}
.tm-number-input--error{border-color:var(--tm-color-error-500);}
.tm-number-input--error:focus-within{box-shadow:0 0 0 3px rgba(var(--tm-color-error-500-rgb,239,68,68),0.15);}
.tm-number-input--disabled{opacity:0.6;background-color:var(--tm-color-neutral-100);cursor:not-allowed;}
.tm-number-input--disabled .tm-number-input__input{cursor:not-allowed;}
[data-theme="dark"] .tm-number-input,.tm-dark .tm-number-input{border-color:var(--tm-color-neutral-600);background-color:var(--tm-color-neutral-800);}
[data-theme="dark"] .tm-number-input__input,.tm-dark .tm-number-input__input{color:var(--tm-color-neutral-100);}
[data-theme="dark"] .tm-number-input__increment,[data-theme="dark"] .tm-number-input__decrement,.tm-dark .tm-number-input__increment,.tm-dark .tm-number-input__decrement{background-color:var(--tm-color-neutral-700);color:var(--tm-color-neutral-300);border-color:var(--tm-color-neutral-600);}
[data-theme="dark"] .tm-number-input__increment:hover,[data-theme="dark"] .tm-number-input__decrement:hover,.tm-dark .tm-number-input__increment:hover,.tm-dark .tm-number-input__decrement:hover{background-color:var(--tm-color-neutral-600);color:var(--tm-color-neutral-100);}
[data-theme="dark"] .tm-number-input--disabled,.tm-dark .tm-number-input--disabled{background-color:var(--tm-color-neutral-900);}
.tm-copy-button{display:inline-flex;align-items:center;justify-content:center;padding:0.375rem;border:none;border-radius:var(--tm-radius-md);background-color:transparent;color:var(--tm-color-neutral-500);cursor:pointer;transition:color 0.15s ease,background-color 0.15s ease;}
.tm-copy-button:hover{color:var(--tm-color-neutral-700);background-color:var(--tm-color-neutral-100);}
.tm-copy-button:active{background-color:var(--tm-color-neutral-200);}
.tm-copy-button:focus-visible{outline:2px solid var(--tm-color-primary-500);outline-offset:2px;}
.tm-copy-button--copied{color:var(--tm-color-success-600);}
.tm-copy-button--copied:hover{color:var(--tm-color-success-700);}
[data-theme="dark"] .tm-copy-button,.tm-dark .tm-copy-button{color:var(--tm-color-neutral-400);}
[data-theme="dark"] .tm-copy-button:hover,.tm-dark .tm-copy-button:hover{color:var(--tm-color-neutral-200);background-color:var(--tm-color-neutral-700);}
[data-theme="dark"] .tm-copy-button--copied,.tm-dark .tm-copy-button--copied{color:var(--tm-color-success-400);}
.tm-entity-picker{position:relative;}
.tm-entity-picker__input-wrapper{position:relative;display:flex;align-items:center;}
.tm-entity-picker__search-icon{position:absolute;left:0.75rem;color:var(--tm-text-secondary);pointer-events:none;z-index:1;}
.tm-entity-picker__input{width:100%;height:var(--tm-input-height-md);padding:0 var(--tm-space-3) 0 2.25rem;font-family:var(--tm-font-sans);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);background-color:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);outline:none;transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-entity-picker__input::placeholder{color:var(--tm-text-secondary);}
.tm-entity-picker__input:focus{border-color:var(--tm-border-color-focus);box-shadow:var(--tm-shadow-focus);}
.tm-entity-picker__loading{position:absolute;right:0.75rem;display:flex;align-items:center;}
.tm-entity-picker__dropdown{position:absolute;top:calc(100%+4px);left:0;right:0;z-index:var(--tm-z-dropdown,800);max-height:240px;overflow-y:auto;background-color:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);box-shadow:var(--tm-shadow-md,0 4px 12px rgba(0,0,0,0.1));animation:tm-fade-in 0.1s ease;}
.tm-entity-picker__option{padding:var(--tm-space-2) var(--tm-space-3);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);cursor:pointer;transition:background-color var(--tm-transition-fast);}
.tm-entity-picker__option:hover{background-color:var(--tm-bg-hover);color:var(--tm-color-primary);}
.tm-entity-picker__no-results{padding:var(--tm-space-3);font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);text-align:center;}
.tm-entity-picker--disabled .tm-entity-picker__input{opacity:0.6;background-color:var(--tm-bg-muted);cursor:not-allowed;}
.tm-multiselect{position:relative;display:flex;align-items:center;min-height:2.375rem;padding:var(--tm-space-1) var(--tm-space-3) var(--tm-space-1) var(--tm-space-2);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);cursor:pointer;transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);gap:var(--tm-space-1);}
.tm-multiselect:hover{border-color:var(--tm-color-primary);}
.tm-multiselect:focus,.tm-multiselect:focus-within{outline:none;border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-multiselect--open{border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-multiselect--error{border-color:var(--tm-color-danger) !important;}
.tm-multiselect--disabled{background-color:var(--tm-color-gray-50,#f9fafb);cursor:not-allowed;opacity:0.6;}
.tm-multiselect__selections{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tm-space-1);flex:1;min-width:0;overflow:hidden;}
.tm-multiselect__placeholder{color:var(--tm-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tm-multiselect__chip{display:inline-flex;align-items:center;gap:var(--tm-space-1);padding:0.125rem 0.375rem 0.125rem 0.5rem;background:var(--tm-color-primary-100);color:var(--tm-color-primary-700);border-radius:9999px;font-size:var(--tm-font-size-xs);font-weight:500;white-space:nowrap;max-width:10rem;line-height:1.4;}
.tm-multiselect__chip-remove{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;color:inherit;opacity:0.6;cursor:pointer;border-radius:50%;transition:opacity var(--tm-transition-fast),background-color var(--tm-transition-fast);flex-shrink:0;}
.tm-multiselect__chip-remove:hover{opacity:1;background:rgba(0,0,0,0.1);}
.tm-multiselect__delimiter-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tm-multiselect__count{font-weight:500;color:var(--tm-color-primary-700);}
.tm-multiselect__actions{display:flex;align-items:center;gap:var(--tm-space-1);flex-shrink:0;margin-left:auto;}
.tm-multiselect__clear{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--tm-text-tertiary);padding:var(--tm-space-1);border-radius:50%;transition:color var(--tm-transition-fast),background-color var(--tm-transition-fast);}
.tm-multiselect__clear:hover{color:var(--tm-color-danger);background:var(--tm-color-danger-subtle,rgba(239,68,68,0.1));}
.tm-multiselect__arrow{display:flex;align-items:center;color:var(--tm-text-secondary);transition:transform var(--tm-transition-fast);}
.tm-multiselect--open .tm-multiselect__arrow{transform:rotate(180deg);}
.tm-multiselect__popup{position:absolute;top:calc(100%+var(--tm-space-1));left:0;right:0;z-index:var(--tm-z-dropdown,1000);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);box-shadow:var(--tm-shadow-lg);display:flex;flex-direction:column;}
.tm-multiselect__filter{padding:var(--tm-space-2);border-bottom:1px solid var(--tm-border-color);}
.tm-multiselect__filter-input{width:100%;padding:var(--tm-space-1) var(--tm-space-2);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-sm);font-size:var(--tm-font-size-sm);background:var(--tm-bg-surface);color:var(--tm-text-primary);}
.tm-multiselect__filter-input:focus{outline:none;border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-multiselect__select-all{padding:var(--tm-space-1) var(--tm-space-2);border-bottom:1px solid var(--tm-border-color);}
.tm-multiselect__select-all-btn{width:100%;padding:var(--tm-space-1) var(--tm-space-2);background:none;border:none;cursor:pointer;font-size:var(--tm-font-size-xs);font-weight:500;color:var(--tm-color-primary);text-align:left;border-radius:var(--tm-radius-sm);transition:background var(--tm-transition-fast);}
.tm-multiselect__select-all-btn:hover{background:var(--tm-color-primary-subtle);}
.tm-multiselect__options{max-height:16rem;overflow-y:auto;}
.tm-multiselect__header,.tm-multiselect__footer{padding:var(--tm-space-2) var(--tm-space-3);font-size:var(--tm-font-size-xs);}
.tm-multiselect__header{border-bottom:1px solid var(--tm-border-color);}
.tm-multiselect__footer{border-top:1px solid var(--tm-border-color);}
.tm-multiselect__option{display:flex;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-2) var(--tm-space-3);cursor:pointer;font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);transition:background var(--tm-transition-fast);}
.tm-multiselect__option:hover{background:var(--tm-bg-muted);}
.tm-multiselect__option--selected{background:var(--tm-color-primary-subtle);color:var(--tm-color-primary);}
.tm-multiselect__option--focused{background:var(--tm-bg-muted);outline:2px solid var(--tm-color-primary);outline-offset:-2px;}
.tm-multiselect__option--disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;}
.tm-multiselect__option-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tm-multiselect__option-checkbox{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;border:1.5px solid var(--tm-border-color);border-radius:var(--tm-radius-sm);flex-shrink:0;transition:background-color var(--tm-transition-fast),border-color var(--tm-transition-fast);}
.tm-multiselect__option-checkbox--checked{background:var(--tm-color-primary);border-color:var(--tm-color-primary);color:white;}
.tm-multiselect__group-header{padding:var(--tm-space-2) var(--tm-space-3) var(--tm-space-1);font-size:var(--tm-font-size-xs);font-weight:600;color:var(--tm-text-secondary);text-transform:uppercase;letter-spacing:0.05em;}
.tm-multiselect__loading,.tm-multiselect__empty{padding:var(--tm-space-3);text-align:center;font-size:var(--tm-font-size-sm);color:var(--tm-text-tertiary);display:flex;align-items:center;justify-content:center;gap:var(--tm-space-2);}
.tm-multiselect__error{padding:var(--tm-space-3);text-align:center;font-size:var(--tm-font-size-sm);color:var(--tm-color-danger);display:flex;flex-direction:column;align-items:center;gap:var(--tm-space-2);}
.tm-multiselect__error button{padding:var(--tm-space-1) var(--tm-space-3);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);background:none;cursor:pointer;font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);}
.tm-multiselect__error button:hover{border-color:var(--tm-color-primary);color:var(--tm-color-primary);}
[data-theme="dark"] .tm-multiselect__chip,.tm-dark .tm-multiselect__chip{background:rgba(59,130,246,0.2);color:var(--tm-color-primary-300);}
[data-theme="dark"] .tm-multiselect__chip-remove:hover,.tm-dark .tm-multiselect__chip-remove:hover{background:rgba(255,255,255,0.15);}
[data-theme="dark"] .tm-multiselect__option--selected,.tm-dark .tm-multiselect__option--selected{background:rgba(59,130,246,0.15);color:var(--tm-color-primary-300);}
[data-theme="dark"] .tm-multiselect__option-checkbox--checked,.tm-dark .tm-multiselect__option-checkbox--checked{background:var(--tm-color-primary-400);border-color:var(--tm-color-primary-400);}
[data-theme="dark"] .tm-multiselect--disabled,.tm-dark .tm-multiselect--disabled{background-color:var(--tm-color-gray-800,#1f2937);}
.tm-dynamic-form{display:grid;gap:1rem;grid-template-columns:1fr;}
.tm-dynamic-form--2col{grid-template-columns:repeat(2,1fr);}
.tm-dynamic-form--3col{grid-template-columns:repeat(3,1fr);}
.tm-dynamic-form__field{display:flex;flex-direction:column;gap:0.25rem;}
.tm-dynamic-form__input,.tm-dynamic-form__textarea,.tm-dynamic-form__select{width:100%;padding:0.5rem 0.75rem;font-size:0.875rem;color:var(--tm-color-neutral-900);background-color:var(--tm-color-surface,#fff);border:1px solid var(--tm-color-neutral-300);border-radius:var(--tm-radius-md);outline:none;transition:border-color 0.15s ease,box-shadow 0.15s ease;}
.tm-dynamic-form__input:focus,.tm-dynamic-form__textarea:focus,.tm-dynamic-form__select:focus{border-color:var(--tm-color-primary-500);box-shadow:0 0 0 3px rgba(var(--tm-color-primary-500-rgb,59,130,246),0.15);}
.tm-dynamic-form__textarea{min-height:5rem;resize:vertical;}
.tm-dynamic-form__input:disabled,.tm-dynamic-form__textarea:disabled,.tm-dynamic-form__select:disabled{opacity:0.6;background-color:var(--tm-color-neutral-100);cursor:not-allowed;}
.tm-dynamic-form__checkbox-label{display:flex;align-items:center;gap:0.5rem;font-size:0.875rem;color:var(--tm-color-neutral-700);cursor:pointer;}
.tm-dynamic-form__checkbox{width:1rem;height:1rem;}
.tm-dynamic-form__required{color:var(--tm-color-error-500);margin-left:0.125rem;}
.tm-dynamic-form__help{font-size:0.75rem;color:var(--tm-color-neutral-500);}
@media (max-width:640px){.tm-dynamic-form--2col,.tm-dynamic-form--3col{grid-template-columns:1fr;}
}
[data-theme="dark"] .tm-dynamic-form__input,[data-theme="dark"] .tm-dynamic-form__textarea,[data-theme="dark"] .tm-dynamic-form__select,.tm-dark .tm-dynamic-form__input,.tm-dark .tm-dynamic-form__textarea,.tm-dark .tm-dynamic-form__select{background-color:var(--tm-color-neutral-800);border-color:var(--tm-color-neutral-600);color:var(--tm-color-neutral-100);}
[data-theme="dark"] .tm-dynamic-form__checkbox-label,.tm-dark .tm-dynamic-form__checkbox-label{color:var(--tm-color-neutral-300);}
[data-theme="dark"] .tm-dynamic-form__input:disabled,[data-theme="dark"] .tm-dynamic-form__textarea:disabled,[data-theme="dark"] .tm-dynamic-form__select:disabled,.tm-dark .tm-dynamic-form__input:disabled,.tm-dark .tm-dynamic-form__textarea:disabled,.tm-dark .tm-dynamic-form__select:disabled{background-color:var(--tm-color-neutral-900);}
.tm-expression-editor{display:flex;flex-direction:column;gap:var(--tm-spacing-2,0.5rem);}
.tm-expression-editor__label{font-size:var(--tm-font-size-sm,0.875rem);font-weight:500;color:var(--tm-color-neutral-700,#374151);}
.tm-expression-editor__body{display:flex;gap:var(--tm-spacing-3,0.75rem);border:1px solid var(--tm-color-neutral-300,#d1d5db);border-radius:var(--tm-radius-md,0.5rem);overflow:hidden;}
.tm-expression-editor--error .tm-expression-editor__body{border-color:var(--tm-color-danger-500,#ef4444);}
.tm-expression-editor__textarea{flex:1;min-height:100px;padding:var(--tm-spacing-3,0.75rem);border:none;outline:none;resize:vertical;font-family:var(--tm-font-mono,ui-monospace,monospace);font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-color-neutral-900,#111827);background:transparent;line-height:1.6;}
.tm-expression-editor__textarea::placeholder{color:var(--tm-color-neutral-400,#9ca3af);}
.tm-expression-editor__textarea:disabled{background-color:var(--tm-color-neutral-50,#f9fafb);color:var(--tm-color-neutral-400,#9ca3af);cursor:not-allowed;}
.tm-expression-editor__panel{width:220px;min-width:220px;background-color:var(--tm-color-neutral-50,#f9fafb);border-left:1px solid var(--tm-color-neutral-200,#e5e7eb);overflow-y:auto;max-height:300px;}
.tm-expression-editor__panel-title{padding:var(--tm-spacing-2,0.5rem) var(--tm-spacing-3,0.75rem);font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--tm-color-neutral-500,#6b7280);border-bottom:1px solid var(--tm-color-neutral-200,#e5e7eb);}
.tm-expression-editor__var{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:var(--tm-spacing-2,0.5rem) var(--tm-spacing-3,0.75rem);border:none;background:transparent;cursor:pointer;text-align:left;transition:background-color 0.15s ease;border-bottom:1px solid var(--tm-color-neutral-100,#f3f4f6);}
.tm-expression-editor__var:hover:not(:disabled){background-color:var(--tm-color-primary-50,#eff6ff);}
.tm-expression-editor__var:disabled{cursor:not-allowed;opacity:0.5;}
.tm-expression-editor__var-name{font-family:var(--tm-font-mono,ui-monospace,monospace);font-size:0.8rem;font-weight:500;color:var(--tm-color-primary-700,#1d4ed8);}
.tm-expression-editor__var-desc{font-size:0.7rem;color:var(--tm-color-neutral-500,#6b7280);line-height:1.3;}
.tm-expression-editor__var-type{font-size:0.65rem;font-family:var(--tm-font-mono,ui-monospace,monospace);color:var(--tm-color-neutral-400,#9ca3af);}
.tm-expression-editor__error{font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-color-danger-600,#dc2626);}
[data-theme="dark"] .tm-expression-editor__label,.tm-dark .tm-expression-editor__label{color:var(--tm-color-neutral-300,#d1d5db);}
[data-theme="dark"] .tm-expression-editor__body,.tm-dark .tm-expression-editor__body{border-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-expression-editor__textarea,.tm-dark .tm-expression-editor__textarea{color:var(--tm-color-neutral-100,#f3f4f6);}
[data-theme="dark"] .tm-expression-editor__textarea:disabled,.tm-dark .tm-expression-editor__textarea:disabled{background-color:var(--tm-color-neutral-900,#111827);}
[data-theme="dark"] .tm-expression-editor__panel,.tm-dark .tm-expression-editor__panel{background-color:var(--tm-color-neutral-900,#111827);border-left-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-expression-editor__panel-title,.tm-dark .tm-expression-editor__panel-title{border-bottom-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-expression-editor__var:hover:not(:disabled),.tm-dark .tm-expression-editor__var:hover:not(:disabled){background-color:var(--tm-color-neutral-800,#1f2937);}
[data-theme="dark"] .tm-expression-editor__var-name,.tm-dark .tm-expression-editor__var-name{color:var(--tm-color-primary-400,#60a5fa);}
.tm-form-validation-message{display:flex;flex-direction:column;gap:var(--tm-space-1,0.25rem);margin-top:var(--tm-space-1,0.25rem);}
.tm-form-validation-message-item{display:flex;align-items:center;gap:var(--tm-space-1,0.25rem);}
.tm-form-validation-message-icon{display:flex;align-items:center;color:var(--tm-color-danger,#ef4444);flex-shrink:0;}
.tm-form-validation-message-text{font-size:var(--tm-font-size-xs,0.75rem);color:var(--tm-color-danger,#ef4444);line-height:1.4;}
.tm-inline-edit{display:inline-flex;flex-direction:column;gap:var(--tm-space-1,0.25rem);min-width:4rem;}
.tm-inline-edit-display{display:inline-block;padding:var(--tm-space-1,0.25rem) var(--tm-space-2,0.5rem);border:1px solid transparent;border-radius:var(--tm-radius-sm,0.25rem);cursor:pointer;transition:border-color 0.15s ease,background-color 0.15s ease;line-height:1.5;color:var(--tm-text-primary,#0f172a);}
.tm-inline-edit-display:hover{border-color:var(--tm-border-color,#e2e8f0);background:var(--tm-bg-hover,#f1f5f9);}
.tm-inline-edit-display:focus-visible{outline:2px solid var(--tm-color-primary,#3b82f6);outline-offset:1px;}
.tm-inline-edit-display--placeholder{color:var(--tm-text-tertiary,#94a3b8);font-style:italic;}
.tm-inline-edit-input{padding:var(--tm-space-1,0.25rem) var(--tm-space-2,0.5rem);border:1px solid var(--tm-color-primary,#3b82f6);border-radius:var(--tm-radius-sm,0.25rem);outline:none;font-size:inherit;font-family:inherit;line-height:1.5;color:var(--tm-text-primary,#0f172a);background:var(--tm-bg-surface,#fff);box-shadow:0 0 0 2px rgba(59,130,246,0.15);width:100%;}
.tm-inline-edit-input--error{border-color:var(--tm-color-danger,#ef4444);box-shadow:0 0 0 2px rgba(239,68,68,0.15);}
.tm-inline-edit-error{font-size:var(--tm-font-size-xs,0.75rem);color:var(--tm-color-danger,#ef4444);line-height:1.4;}
.tm-inline-edit--disabled .tm-inline-edit-display{cursor:default;opacity:0.6;}
.tm-inline-edit--disabled .tm-inline-edit-display:hover{border-color:transparent;background:transparent;}
.tm-badge{display:inline-flex;align-items:center;gap:0.25rem;font-weight:var(--tm-font-weight-medium);border-radius:var(--tm-radius-sm);border:1px solid transparent;white-space:nowrap;line-height:1;}
.tm-badge-pill{border-radius:var(--tm-radius-full);}
.tm-badge-dot::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background-color:currentColor;}
.tm-badge-sm{font-size:var(--tm-font-size-xs);padding:0.125rem 0.375rem;}
.tm-badge-md{font-size:var(--tm-font-size-xs);padding:0.25rem 0.5rem;}
.tm-badge-lg{font-size:var(--tm-font-size-sm);padding:0.25rem 0.625rem;}
.tm-badge-default.tm-badge-filled{background:var(--tm-color-gray-100);color:var(--tm-color-gray-700);}
.tm-badge-primary.tm-badge-filled{background:var(--tm-color-primary);color:var(--tm-color-white);}
.tm-badge-success.tm-badge-filled{background:var(--tm-color-success);color:var(--tm-color-white);}
.tm-badge-warning.tm-badge-filled{background:var(--tm-color-warning);color:var(--tm-color-white);}
.tm-badge-danger.tm-badge-filled{background:var(--tm-color-danger);color:var(--tm-color-white);}
.tm-badge-info.tm-badge-filled{background:var(--tm-color-info);color:var(--tm-color-white);}
.tm-badge-default.tm-badge-soft{background:var(--tm-color-gray-100);color:var(--tm-color-gray-700);border-color:var(--tm-color-gray-200);}
.tm-badge-primary.tm-badge-soft{background:var(--tm-color-primary-subtle);color:var(--tm-color-primary-text);border-color:var(--tm-color-primary-soft-border);}
.tm-badge-success.tm-badge-soft{background:var(--tm-color-success-subtle);color:var(--tm-color-success-text);border-color:var(--tm-color-success-soft-border);}
.tm-badge-warning.tm-badge-soft{background:var(--tm-color-warning-subtle);color:var(--tm-color-warning-text);border-color:var(--tm-color-warning-soft-border);}
.tm-badge-danger.tm-badge-soft{background:var(--tm-color-danger-subtle);color:var(--tm-color-danger-text);border-color:var(--tm-color-danger-soft-border);}
.tm-badge-info.tm-badge-soft{background:var(--tm-color-info-subtle);color:var(--tm-color-info-text);border-color:var(--tm-color-info-soft-border);}
.tm-badge-default.tm-badge-outlined{background:transparent;color:var(--tm-color-gray-700);border-color:var(--tm-color-gray-300);}
.tm-badge-primary.tm-badge-outlined{background:transparent;color:var(--tm-color-primary);border-color:var(--tm-color-primary);}
.tm-badge-success.tm-badge-outlined{background:transparent;color:var(--tm-color-success-text);border-color:var(--tm-color-success);}
.tm-badge-warning.tm-badge-outlined{background:transparent;color:var(--tm-color-warning-text);border-color:var(--tm-color-warning);}
.tm-badge-danger.tm-badge-outlined{background:transparent;color:var(--tm-color-danger-text);border-color:var(--tm-color-danger);}
.tm-badge-info.tm-badge-outlined{background:transparent;color:var(--tm-color-info-text);border-color:var(--tm-color-info);}
.tm-card{background-color:var(--tm-bg-surface);border-radius:var(--tm-radius-lg);overflow:hidden;}
.tm-card-default{border:1px solid var(--tm-border-color);}
.tm-card-elevated{border:1px solid var(--tm-border-color);box-shadow:var(--tm-shadow-md);}
.tm-card-outlined{border:2px solid var(--tm-border-color);}
.tm-card-header{display:flex;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-4) var(--tm-space-5);border-bottom:1px solid var(--tm-border-color);font-weight:var(--tm-font-weight-semibold);font-size:var(--tm-font-size-sm);}
.tm-card-header-icon{display:flex;align-items:center;color:var(--tm-text-secondary);}
.tm-card-content{padding:var(--tm-space-5);}
.tm-card-footer{padding:var(--tm-space-3) var(--tm-space-5);border-top:1px solid var(--tm-border-color);background-color:var(--tm-bg-surface-secondary);font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);}
.tm-stat-card{background-color:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);padding:var(--tm-space-5);display:flex;align-items:flex-start;gap:var(--tm-space-4);}
.tm-stat-card-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:var(--tm-color-primary-subtle);border-radius:var(--tm-radius-md);color:var(--tm-color-primary);flex-shrink:0;}
.tm-stat-card-body{flex:1;min-width:0;}
.tm-stat-card-value{font-size:var(--tm-font-size-2xl);font-weight:var(--tm-font-weight-bold);color:var(--tm-text-primary);line-height:1;}
.tm-stat-card-label{font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);margin-top:var(--tm-space-1);}
.tm-stat-card-trend{font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-medium);margin-top:var(--tm-space-2);}
.tm-stat-card-trend-up{color:var(--tm-color-success-text);}
.tm-stat-card-trend-down{color:var(--tm-color-danger-text);}
.tm-avatar{display:inline-flex;align-items:center;justify-content:center;font-weight:var(--tm-font-weight-semibold);overflow:hidden;flex-shrink:0;background-color:var(--tm-color-gray-200);color:var(--tm-color-gray-600);user-select:none;}
.tm-avatar-circle{border-radius:var(--tm-radius-full);}
.tm-avatar-square{border-radius:var(--tm-radius-md);}
.tm-avatar-xs{width:1.5rem;height:1.5rem;font-size:0.625rem;}
.tm-avatar-sm{width:2rem;height:2rem;font-size:var(--tm-font-size-xs);}
.tm-avatar-md{width:2.5rem;height:2.5rem;font-size:var(--tm-font-size-sm);}
.tm-avatar-lg{width:3rem;height:3rem;font-size:var(--tm-font-size-md);}
.tm-avatar-xl{width:3.5rem;height:3.5rem;font-size:var(--tm-font-size-lg);}
.tm-avatar-xxl{width:5rem;height:5rem;font-size:var(--tm-font-size-xl);}
.tm-avatar img{width:100%;height:100%;object-fit:cover;}
.tm-avatar-group{display:flex;flex-direction:row-reverse;}
.tm-avatar-group .tm-avatar{border:2px solid var(--tm-bg-surface);margin-left:-0.5rem;}
.tm-avatar-group .tm-avatar:last-child{margin-left:0;}
.tm-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--tm-space-12) var(--tm-space-6);gap:var(--tm-space-4);}
.tm-empty-state-icon{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;background-color:var(--tm-color-gray-100);border-radius:var(--tm-radius-full);color:var(--tm-text-secondary);}
.tm-empty-state-title{font-size:var(--tm-font-size-lg);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);margin:0;}
.tm-empty-state-description{font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);margin:0;max-width:28rem;}
.tm-accordion{border:1px solid var(--tm-color-neutral-200);border-radius:var(--tm-radius-lg);overflow:hidden;}
.tm-accordion-item{border-bottom:1px solid var(--tm-color-neutral-200);}
.tm-accordion-item:last-child{border-bottom:none;}
.tm-accordion-item__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0.875rem 1rem;font-size:0.875rem;font-weight:600;color:var(--tm-color-neutral-900);background-color:transparent;border:none;cursor:pointer;text-align:left;transition:background-color 0.15s ease;}
.tm-accordion-item__header:hover{background-color:var(--tm-color-neutral-50);}
.tm-accordion-item__header:focus-visible{outline:2px solid var(--tm-color-primary-500);outline-offset:-2px;}
.tm-accordion-item__header-text{display:flex;align-items:center;gap:0.5rem;flex:1;min-width:0;}
.tm-accordion-item__title{font-weight:600;}
.tm-accordion-item__subtitle{display:block;font-size:0.75rem;font-weight:400;color:var(--tm-color-neutral-500);margin-top:0.125rem;}
.tm-accordion-item__icon{display:inline-flex;color:var(--tm-color-neutral-500);}
.tm-accordion-item__chevron{display:inline-flex;align-items:center;justify-content:center;color:var(--tm-color-neutral-400);transition:transform 0.2s ease;flex-shrink:0;}
.tm-accordion-item--expanded .tm-accordion-item__chevron{transform:rotate(180deg);}
.tm-accordion-item__body{padding:0 1rem 1rem;font-size:0.875rem;color:var(--tm-color-neutral-600);animation:tm-accordion-expand 0.2s ease;}
@keyframes tm-accordion-expand{from{opacity:0;transform:translateY(-4px);}
to{opacity:1;transform:translateY(0);}
}
.tm-accordion-item--disabled .tm-accordion-item__header{opacity:0.5;cursor:not-allowed;}
.tm-accordion-item--disabled .tm-accordion-item__header:hover{background-color:transparent;}
[data-theme="dark"] .tm-accordion,.tm-dark .tm-accordion{border-color:var(--tm-color-neutral-700);}
[data-theme="dark"] .tm-accordion-item,.tm-dark .tm-accordion-item{border-color:var(--tm-color-neutral-700);}
[data-theme="dark"] .tm-accordion-item__header,.tm-dark .tm-accordion-item__header{color:var(--tm-color-neutral-100);}
[data-theme="dark"] .tm-accordion-item__header:hover,.tm-dark .tm-accordion-item__header:hover{background-color:var(--tm-color-neutral-800);}
[data-theme="dark"] .tm-accordion-item__body,.tm-dark .tm-accordion-item__body{color:var(--tm-color-neutral-400);}
@media (prefers-reduced-motion:reduce){.tm-accordion-item__chevron{transition:none;}
.tm-accordion-item__body{animation:none;}
}
.tm-chip{display:inline-flex;align-items:center;gap:0.25rem;border-radius:9999px;font-weight:500;white-space:nowrap;transition:background-color 0.15s ease,box-shadow 0.15s ease;vertical-align:middle;}
.tm-chip--sm{padding:0.125rem 0.5rem;font-size:0.6875rem;}
.tm-chip--md{padding:0.25rem 0.625rem;font-size:0.75rem;}
.tm-chip--soft{background-color:var(--tm-chip-color,var(--tm-color-primary-100));color:var(--tm-chip-color,var(--tm-color-primary-700));}
.tm-chip--filled{background-color:var(--tm-chip-color,var(--tm-color-primary-600));color:#fff;}
.tm-chip--outlined{background-color:transparent;border:1px solid var(--tm-chip-color,var(--tm-color-neutral-300));color:var(--tm-chip-color,var(--tm-color-neutral-700));}
.tm-chip--clickable{cursor:pointer;}
.tm-chip--clickable:hover{opacity:0.85;box-shadow:0 1px 4px rgba(0,0,0,0.1);}
.tm-chip--selected{box-shadow:0 0 0 2px var(--tm-chip-color,var(--tm-color-primary-500));}
.tm-chip__icon{display:inline-flex;flex-shrink:0;}
.tm-chip__remove{display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:0.125rem;background:transparent;border:none;color:inherit;opacity:0.6;cursor:pointer;border-radius:50%;transition:opacity 0.15s ease,background-color 0.15s ease;}
.tm-chip__remove:hover{opacity:1;background-color:rgba(0,0,0,0.1);}
.tm-chip-group{display:flex;flex-wrap:wrap;gap:0.375rem;align-items:center;}
[data-theme="dark"] .tm-chip--soft,.tm-dark .tm-chip--soft{background-color:rgba(var(--tm-color-primary-500-rgb,59,130,246),0.2);color:var(--tm-color-primary-300);}
[data-theme="dark"] .tm-chip--outlined,.tm-dark .tm-chip--outlined{border-color:var(--tm-color-neutral-600);color:var(--tm-color-neutral-300);}
[data-theme="dark"] .tm-chip__remove:hover,.tm-dark .tm-chip__remove:hover{background-color:rgba(255,255,255,0.15);}
.tm-kanban{display:flex;gap:var(--tm-spacing-4,1rem);overflow-x:auto;padding-bottom:var(--tm-spacing-2,0.5rem);min-height:200px;}
.tm-kanban__column{flex:0 0 280px;min-width:280px;display:flex;flex-direction:column;background-color:var(--tm-color-neutral-50,#f9fafb);border-radius:var(--tm-radius-lg,0.75rem);border:1px solid var(--tm-color-neutral-200,#e5e7eb);max-height:600px;}
.tm-kanban__column--over-limit{border-color:var(--tm-color-danger-300,#fca5a5);background-color:#fef2f2;}
.tm-kanban__header{display:flex;align-items:center;gap:var(--tm-spacing-2,0.5rem);padding:var(--tm-spacing-3,0.75rem);border-bottom:1px solid var(--tm-color-neutral-200,#e5e7eb);}
.tm-kanban__header-color{width:12px;height:12px;border-radius:50%;flex-shrink:0;}
.tm-kanban__header-title{font-size:var(--tm-font-size-sm,0.875rem);font-weight:600;color:var(--tm-color-neutral-700,#374151);flex:1;}
.tm-kanban__count{font-size:0.75rem;font-weight:500;color:var(--tm-color-neutral-500,#6b7280);background-color:var(--tm-color-neutral-200,#e5e7eb);padding:0 6px;border-radius:9999px;min-width:20px;text-align:center;}
.tm-kanban__wip-limit{font-size:0.7rem;color:var(--tm-color-neutral-400,#9ca3af);}
.tm-kanban__cards{flex:1;overflow-y:auto;padding:var(--tm-spacing-2,0.5rem);display:flex;flex-direction:column;gap:var(--tm-spacing-2,0.5rem);}
.tm-kanban__card{padding:var(--tm-spacing-3,0.75rem);background-color:white;border:1px solid var(--tm-color-neutral-200,#e5e7eb);border-radius:var(--tm-radius-md,0.5rem);cursor:grab;transition:box-shadow 0.15s ease,border-color 0.15s ease;font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-color-neutral-700,#374151);}
.tm-kanban__card:hover{box-shadow:var(--tm-shadow-sm,0 1px 2px rgba(0,0,0,0.05));border-color:var(--tm-color-primary-300,#93c5fd);}
.tm-kanban__card:active{cursor:grabbing;}
.tm-kanban__empty{display:flex;align-items:center;justify-content:center;padding:var(--tm-spacing-6,1.5rem);color:var(--tm-color-neutral-400,#9ca3af);font-size:var(--tm-font-size-sm,0.875rem);border:2px dashed var(--tm-color-neutral-200,#e5e7eb);border-radius:var(--tm-radius-md,0.5rem);min-height:80px;}
[data-theme="dark"] .tm-kanban__column,.tm-dark .tm-kanban__column{background-color:var(--tm-color-neutral-900,#111827);border-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-kanban__column--over-limit,.tm-dark .tm-kanban__column--over-limit{border-color:var(--tm-color-danger-700,#b91c1c);background-color:rgba(239,68,68,0.1);}
[data-theme="dark"] .tm-kanban__header,.tm-dark .tm-kanban__header{border-bottom-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-kanban__header-title,.tm-dark .tm-kanban__header-title{color:var(--tm-color-neutral-200,#e5e7eb);}
[data-theme="dark"] .tm-kanban__count,.tm-dark .tm-kanban__count{background-color:var(--tm-color-neutral-700,#374151);color:var(--tm-color-neutral-300,#d1d5db);}
[data-theme="dark"] .tm-kanban__card,.tm-dark .tm-kanban__card{background-color:var(--tm-color-neutral-800,#1f2937);border-color:var(--tm-color-neutral-700,#374151);color:var(--tm-color-neutral-300,#d1d5db);}
[data-theme="dark"] .tm-kanban__card:hover,.tm-dark .tm-kanban__card:hover{border-color:var(--tm-color-primary-500,#3b82f6);}
[data-theme="dark"] .tm-kanban__empty,.tm-dark .tm-kanban__empty{color:var(--tm-color-neutral-600,#4b5563);border-color:var(--tm-color-neutral-700,#374151);}
@media (prefers-reduced-motion:reduce){.tm-kanban__card{transition:none;}
}
.tm-change-diff{display:flex;flex-direction:column;gap:var(--tm-space-2,0.5rem);}
.tm-change-diff-row{display:flex;align-items:center;gap:var(--tm-space-3,0.75rem);padding:var(--tm-space-2,0.5rem) var(--tm-space-3,0.75rem);border-radius:var(--tm-radius-sm,0.25rem);background:var(--tm-bg-surface-secondary,#f8fafc);font-size:var(--tm-font-size-sm,0.875rem);}
.tm-change-diff-property{font-weight:var(--tm-font-weight-medium,500);color:var(--tm-text-primary,#0f172a);min-width:8rem;flex-shrink:0;}
.tm-change-diff-values{display:flex;align-items:center;gap:var(--tm-space-2,0.5rem);flex:1;min-width:0;}
.tm-change-diff-old{color:var(--tm-color-danger,#ef4444);text-decoration:line-through;opacity:0.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tm-change-diff-arrow{display:flex;align-items:center;color:var(--tm-text-tertiary,#94a3b8);flex-shrink:0;}
.tm-change-diff-new{color:var(--tm-color-success,#22c55e);font-weight:var(--tm-font-weight-medium,500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tm-data-table-wrapper{display:flex;flex-direction:column;gap:var(--tm-space-4);padding:var(--tm-space-4);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);}
.tm-data-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--tm-space-4);padding-bottom:var(--tm-space-3);border-bottom:1px solid var(--tm-border-color);}
.tm-data-table-toolbar-left{display:flex;align-items:center;gap:var(--tm-space-2);flex:0 0 auto;}
.tm-data-table-toolbar-center{display:flex;align-items:center;justify-content:center;flex:1;max-width:400px;}
.tm-data-table-toolbar-center .tm-search-input-wrapper{width:100%;}
.tm-data-table-toolbar-right{display:flex;align-items:center;gap:var(--tm-space-2);flex:0 0 auto;}
.tm-data-table-selection-bar{display:flex;align-items:center;gap:var(--tm-space-3);padding:var(--tm-space-2) var(--tm-space-4);background-color:var(--tm-color-primary-subtle);border:1px solid var(--tm-color-primary);border-radius:var(--tm-radius-md);font-size:var(--tm-font-size-sm);color:var(--tm-color-primary-text);}
.tm-data-table-scroll{overflow-x:auto;border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);margin:0 calc(-1 * var(--tm-space-4));width:calc(100%+2 * var(--tm-space-4));}
.tm-data-table{width:100%;border-collapse:collapse;font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);}
.tm-data-table thead tr{background-color:var(--tm-bg-surface-secondary);}
.tm-data-table th,.tm-data-table td{padding:var(--tm-space-3) var(--tm-space-4);text-align:left;border-bottom:1px solid var(--tm-border-color);}
.tm-data-table th{font-weight:var(--tm-font-weight-semibold);font-size:var(--tm-font-size-xs);text-transform:uppercase;letter-spacing:0.05em;color:var(--tm-text-secondary);white-space:nowrap;}
.tm-data-table tbody tr:last-child td{border-bottom:none;}
.tm-data-table tbody tr:hover{background-color:var(--tm-bg-surface-secondary);}
.tm-data-table tbody tr.tm-row-selected{background-color:var(--tm-color-primary-subtle);}
.tm-col-sortable{cursor:pointer;user-select:none;}
.tm-col-sortable:hover{color:var(--tm-text-primary);}
.tm-col-sorted-asc,.tm-col-sorted-desc{color:var(--tm-color-primary-text);}
.tm-sort-icon{display:inline-block;width:0.875rem;height:0.875rem;margin-left:var(--tm-space-1);vertical-align:middle;opacity:0.4;}
.tm-sort-icon.tm-sort-asc::after{content:'\2191';opacity:1;}
.tm-sort-icon.tm-sort-desc::after{content:'\2193';opacity:1;}
.tm-sort-icon.tm-sort-none::after{content:'\2195';}
.tm-col-check{width:2.5rem;padding-left:var(--tm-space-3) !important;}
.tm-col-check input[type='checkbox']{cursor:pointer;}
.tm-filter-row th{padding:var(--tm-space-1) var(--tm-space-2);background-color:var(--tm-color-gray-50);font-weight:normal;text-transform:none;letter-spacing:0;}
.tm-text-center{text-align:center;}
.tm-text-right{text-align:right;}
.tm-data-table .tm-spinner{margin:var(--tm-space-6) auto;}
.tm-btn-link{background:none;border:none;color:var(--tm-color-primary);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline;}
.tm-btn-link:hover{color:var(--tm-color-primary-hover);}
.tm-pagination-container{display:flex;align-items:center;justify-content:space-between;gap:var(--tm-space-4);padding-top:var(--tm-space-3);border-top:1px solid var(--tm-border-color);flex-wrap:wrap;}
.tm-pagination-info{font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);white-space:nowrap;flex:0 0 auto;}
.tm-pagination-info strong{color:var(--tm-text-primary);font-weight:var(--tm-font-weight-medium);}
.tm-pagination-center{display:flex;align-items:center;justify-content:center;flex:1;}
.tm-pagination-right{display:flex;align-items:center;gap:var(--tm-space-2);flex:0 0 auto;}
.tm-pagination-size-label{font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);white-space:nowrap;}
.tm-pagination{display:flex;align-items:center;gap:var(--tm-space-1);}
.tm-pagination-btn,.tm-page-btn{min-width:2.25rem;height:2.25rem;padding:0 var(--tm-space-2);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);background:var(--tm-bg-surface);color:var(--tm-text-primary);font-size:var(--tm-font-size-sm);cursor:pointer;transition:all var(--tm-transition-fast);display:inline-flex;align-items:center;justify-content:center;}
.tm-pagination-btn:hover:not(:disabled),.tm-page-btn:hover:not(.tm-page-btn-active){background-color:var(--tm-bg-surface-secondary);border-color:var(--tm-color-gray-300);}
.tm-pagination-btn:disabled{opacity:0.4;cursor:not-allowed;background:var(--tm-bg-surface-secondary);}
.tm-page-btn-active{background-color:var(--tm-color-primary);border-color:var(--tm-color-primary);color:var(--tm-text-inverse);font-weight:var(--tm-font-weight-semibold);}
.tm-pagination-ellipsis{padding:0 var(--tm-space-1);color:var(--tm-text-secondary);}
.tm-pagination-page-size{border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);padding:var(--tm-space-1) var(--tm-space-3);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);background:var(--tm-bg-surface);cursor:pointer;min-width:4rem;}
.tm-pagination-page-size:focus{outline:none;border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-column-picker{position:relative;}
.tm-column-picker-toggle{white-space:nowrap;}
.tm-column-picker-panel{position:absolute;right:0;top:calc(100%+var(--tm-space-1));z-index:var(--tm-z-dropdown);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-md);min-width:14rem;padding:var(--tm-space-2);}
.tm-column-picker-items{max-height:20rem;overflow-y:auto;}
.tm-column-picker-item{display:flex;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-2) var(--tm-space-3);border-radius:var(--tm-radius-md);cursor:pointer;font-size:var(--tm-font-size-sm);}
.tm-column-picker-item:hover{background-color:var(--tm-bg-surface-secondary);}
.tm-column-picker-item input[type='checkbox']{cursor:pointer;}
.tm-column-picker-footer{padding:var(--tm-space-2) var(--tm-space-3) 0;border-top:1px solid var(--tm-border-color);margin-top:var(--tm-space-2);}
.tm-column-picker-reset{background:none;border:none;color:var(--tm-color-primary);cursor:pointer;font-size:var(--tm-font-size-xs);padding:0;text-decoration:underline;}
.tm-data-table-external-filters{padding:var(--tm-space-3) var(--tm-space-4);background:var(--tm-bg-surface);border-bottom:1px solid var(--tm-border-color);}
.tm-data-table-filters-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-2) var(--tm-space-4);background:var(--tm-bg-surface-secondary);border-bottom:1px solid var(--tm-border-color);}
.tm-filter-chip{display:inline-flex;align-items:center;gap:var(--tm-space-1);padding:var(--tm-space-1) var(--tm-space-2);background:var(--tm-color-primary-subtle);color:var(--tm-color-primary-text);border-radius:var(--tm-radius-md);font-size:var(--tm-font-size-sm);}
.tm-filter-chip button{background:none;border:none;cursor:pointer;color:inherit;padding:0;font-size:var(--tm-font-size-lg);line-height:1;}
.tm-view-manager{position:relative;}
.tm-view-manager-toggle{white-space:nowrap;display:inline-flex;align-items:center;gap:var(--tm-space-1);}
.tm-view-manager-panel{position:absolute;right:0;top:calc(100%+var(--tm-space-1));z-index:var(--tm-z-dropdown);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-md);min-width:18rem;max-width:24rem;padding:var(--tm-space-3);}
.tm-view-section{margin-bottom:var(--tm-space-3);}
.tm-view-section:last-child{margin-bottom:0;}
.tm-view-section-header{display:flex;align-items:center;gap:var(--tm-space-2);font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-semibold);text-transform:uppercase;letter-spacing:0.05em;color:var(--tm-text-secondary);margin-bottom:var(--tm-space-2);padding-bottom:var(--tm-space-1);border-bottom:1px solid var(--tm-border-color);}
.tm-view-list{max-height:12rem;overflow-y:auto;}
.tm-view-item{display:flex;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-2);border-radius:var(--tm-radius-md);cursor:pointer;font-size:var(--tm-font-size-sm);transition:background-color var(--tm-transition-fast);}
.tm-view-item:hover{background-color:var(--tm-bg-surface-secondary);}
.tm-view-item--active{background-color:var(--tm-color-primary) !important;color:var(--tm-text-inverse) !important;}
.tm-view-item--active:hover{background-color:var(--tm-color-primary-hover) !important;}
.tm-view-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tm-view-item-badge{color:var(--tm-color-warning);font-size:var(--tm-font-size-xs);}
.tm-view-item-type{font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);background:var(--tm-bg-muted);padding:0.125rem 0.375rem;border-radius:var(--tm-radius-sm);}
.tm-view-edit-btn,.tm-view-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:none;background:none;border-radius:var(--tm-radius-md);cursor:pointer;color:var(--tm-text-secondary);opacity:0.6;transition:all var(--tm-transition-fast);}
.tm-view-item:hover .tm-view-edit-btn,.tm-view-item:hover .tm-view-delete-btn{opacity:1;}
.tm-view-edit-btn:hover{background-color:var(--tm-color-primary-subtle);color:var(--tm-color-primary);}
.tm-view-delete-btn:hover{background-color:var(--tm-color-danger-subtle);color:var(--tm-color-danger);}
.tm-view-manager-footer{padding-top:var(--tm-space-3);border-top:1px solid var(--tm-border-color);}
.tm-view-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--tm-space-4);}
.tm-view-modal{background:var(--tm-bg-surface);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-xl);width:100%;max-width:40rem;max-height:90vh;display:flex;flex-direction:column;}
.tm-view-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tm-space-4);border-bottom:1px solid var(--tm-border-color);}
.tm-view-modal-header h3{font-size:var(--tm-font-size-lg);font-weight:var(--tm-font-weight-semibold);margin:0;}
.tm-view-modal-close{background:none;border:none;font-size:1.5rem;color:var(--tm-text-secondary);cursor:pointer;padding:var(--tm-space-1);line-height:1;}
.tm-view-modal-close:hover{color:var(--tm-text-primary);}
.tm-view-modal-body{padding:var(--tm-space-4);overflow-y:auto;flex:1;}
.tm-view-modal-footer{display:flex;justify-content:flex-end;gap:var(--tm-space-2);padding:var(--tm-space-4);border-top:1px solid var(--tm-border-color);}
.tm-view-columns-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--tm-space-2);max-height:10rem;overflow-y:auto;padding:var(--tm-space-2);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);background:var(--tm-bg-surface);}
.tm-view-column-item{display:flex;align-items:center;gap:var(--tm-space-2);font-size:var(--tm-font-size-sm);cursor:pointer;}
.tm-radio-group{display:flex;gap:var(--tm-space-4);}
.tm-radio-label{display:flex;align-items:center;gap:var(--tm-space-2);font-size:var(--tm-font-size-sm);cursor:pointer;}
.tm-checkbox-label{display:flex;align-items:center;gap:var(--tm-space-2);font-size:var(--tm-font-size-sm);cursor:pointer;}
.tm-col-filter{width:100%;}
.tm-col-filter-input-wrap{position:relative;display:flex;align-items:center;}
.tm-col-filter-input{width:100%;padding:var(--tm-space-1) var(--tm-space-2);padding-right:1.5rem;border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);font-size:var(--tm-font-size-xs);color:var(--tm-text-primary);background:var(--tm-bg-surface);}
.tm-col-filter-input:focus{outline:none;border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-col-filter-clear{position:absolute;right:var(--tm-space-1);background:none;border:none;cursor:pointer;color:var(--tm-text-secondary);font-size:var(--tm-font-size-sm);line-height:1;padding:0;}
.tm-col-filter-clear:hover{color:var(--tm-text-primary);}
.tm-col-filter-select{width:100%;padding:var(--tm-space-1) var(--tm-space-2);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);font-size:var(--tm-font-size-xs);color:var(--tm-text-primary);background:var(--tm-bg-surface);}
.tm-col-filter-select:focus{outline:none;border-color:var(--tm-color-primary);}
@media (max-width:768px){.tm-data-table-wrapper{padding:var(--tm-space-2);gap:var(--tm-space-3);}
.tm-data-table-toolbar{flex-direction:column;align-items:stretch;gap:var(--tm-space-3);}
.tm-data-table-toolbar-left,.tm-data-table-toolbar-center,.tm-data-table-toolbar-right{width:100%;max-width:none;}
.tm-data-table-toolbar-center{order:-1;}
.tm-pagination-container{flex-direction:column;align-items:center;gap:var(--tm-space-3);text-align:center;}
.tm-pagination-info,.tm-pagination-center,.tm-pagination-right{width:100%;justify-content:center;}
.tm-view-modal{max-width:100%;max-height:100%;border-radius:0;}
.tm-view-columns-list{grid-template-columns:1fr;}
}
.tm-data-table-group-zone{display:flex;align-items:center;flex-wrap:wrap;gap:var(--tm-space-2);min-height:2.5rem;padding:var(--tm-space-2) var(--tm-space-3);border:2px dashed var(--tm-border-color,#d1d5db);border-radius:var(--tm-radius,0.375rem);background:var(--tm-surface-secondary,#f9fafb);margin-bottom:var(--tm-space-3);transition:border-color 0.15s,background-color 0.15s;}
.tm-data-table-group-zone--dragover{border-color:var(--tm-primary,#3b82f6);background:color-mix(in srgb,var(--tm-primary,#3b82f6) 5%,transparent);}
.tm-data-table-group-placeholder{color:var(--tm-text-tertiary,#9ca3af);font-size:var(--tm-font-size-sm,0.875rem);font-style:italic;}
.tm-data-table-group-chip{display:inline-flex;align-items:center;gap:var(--tm-space-1);padding:var(--tm-space-1) var(--tm-space-2);border-radius:var(--tm-radius,0.375rem);background:var(--tm-primary,#3b82f6);color:white;font-size:var(--tm-font-size-sm,0.875rem);cursor:grab;user-select:none;}
.tm-data-table-group-chip:active{cursor:grabbing;}
.tm-data-table-group-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;border:none;border-radius:50%;background:rgba(255,255,255,0.25);color:white;font-size:0.75rem;cursor:pointer;line-height:1;}
.tm-data-table-group-chip-remove:hover{background:rgba(255,255,255,0.4);}
.tm-data-table-group-actions{display:flex;gap:var(--tm-space-2);margin-left:auto;}
.tm-data-table-group-expand-all,.tm-data-table-group-collapse-all{padding:var(--tm-space-1) var(--tm-space-2);border:1px solid var(--tm-border-color,#d1d5db);border-radius:var(--tm-radius,0.375rem);background:var(--tm-surface,white);color:var(--tm-text-secondary,#6b7280);font-size:var(--tm-font-size-xs,0.75rem);cursor:pointer;}
.tm-data-table-group-expand-all:hover,.tm-data-table-group-collapse-all:hover{background:var(--tm-surface-secondary,#f9fafb);}
.tm-data-table-group-row{background:var(--tm-surface-secondary,#f9fafb);font-weight:600;}
.tm-data-table-group-row td{padding:var(--tm-space-2) var(--tm-space-3);border-bottom:1px solid var(--tm-border-color,#d1d5db);}
.tm-data-table-group-level-1 td{padding-left:calc(var(--tm-space-3)+1.5rem);}
.tm-data-table-group-level-2 td{padding-left:calc(var(--tm-space-3)+3rem);}
.tm-data-table-group-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:var(--tm-radius,0.375rem);background:transparent;color:var(--tm-text-secondary,#6b7280);cursor:pointer;margin-right:var(--tm-space-1);font-size:0.75rem;}
.tm-data-table-group-toggle:hover{background:var(--tm-surface-tertiary,#e5e7eb);}
.tm-data-table-group-label{margin-right:var(--tm-space-2);}
.tm-data-table-group-count{color:var(--tm-text-tertiary,#9ca3af);font-weight:400;font-size:var(--tm-font-size-sm,0.875rem);}
.tm-data-table-group-aggregates{display:inline-flex;gap:var(--tm-space-3);margin-left:var(--tm-space-4);font-weight:400;font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-text-secondary,#6b7280);}
.tm-col-groupable{cursor:grab;}
.tm-col-groupable:active{cursor:grabbing;}
.tm-data-table-virtual-scroll{overflow-y:auto;}
.tm-view-group-columns{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:var(--tm-space-1);max-height:10rem;overflow-y:auto;padding:var(--tm-space-2);border:1px solid var(--tm-border-color,#d1d5db);border-radius:var(--tm-radius,0.375rem);}
.tm-bulk-action-bar{display:flex;align-items:center;gap:1rem;padding:0.75rem 1.25rem;background-color:var(--tm-color-primary-600);color:#fff;border-radius:var(--tm-radius-lg);box-shadow:0 4px 12px rgba(0,0,0,0.15);animation:tm-slide-up 0.2s ease;}
@keyframes tm-slide-up{from{transform:translateY(0.5rem);opacity:0;}
to{transform:translateY(0);opacity:1;}
}
.tm-bulk-action-bar__info{display:flex;align-items:center;gap:0.375rem;font-size:0.875rem;white-space:nowrap;}
.tm-bulk-action-bar__count{font-weight:700;font-size:1rem;}
.tm-bulk-action-bar__text{opacity:0.9;}
.tm-bulk-action-bar__actions{display:flex;align-items:center;gap:0.5rem;flex:1;}
.tm-bulk-action-bar__clear{font-size:0.8125rem;font-weight:500;color:rgba(255,255,255,0.8);background:transparent;border:1px solid rgba(255,255,255,0.3);border-radius:var(--tm-radius-md);padding:0.25rem 0.75rem;cursor:pointer;transition:background-color 0.15s ease,color 0.15s ease;white-space:nowrap;}
.tm-bulk-action-bar__clear:hover{background-color:rgba(255,255,255,0.15);color:#fff;}
[data-theme="dark"] .tm-bulk-action-bar,.tm-dark .tm-bulk-action-bar{background-color:var(--tm-color-primary-700);box-shadow:0 4px 12px rgba(0,0,0,0.4);}
@media (prefers-reduced-motion:reduce){.tm-bulk-action-bar{animation:none;}
}
:root{--tm-picker-border-radius:var(--tm-radius-md);--tm-cal-cell-size:2.25rem;--tm-cal-range-bg:var(--tm-color-primary-100);--tm-cal-selected-bg:var(--tm-color-primary);--tm-cal-selected-fg:var(--tm-color-white);--tm-cal-today-border:2px solid var(--tm-color-primary);--tm-cal-disabled-opacity:0.35;}
.tm-picker-label{display:block;font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-primary);margin-bottom:var(--tm-space-1);}
.tm-picker-clear{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:none;cursor:pointer;color:var(--tm-text-tertiary);font-size:var(--tm-font-size-sm);border-radius:50%;transition:color var(--tm-transition-fast),background var(--tm-transition-fast);}
.tm-picker-clear:hover{color:var(--tm-color-danger);background:var(--tm-color-danger-subtle);}
.tm-picker-placeholder{color:var(--tm-text-tertiary);}
.tm-field-error{display:block;font-size:var(--tm-font-size-xs);color:var(--tm-color-danger);margin-top:var(--tm-space-1);}
.tm-calendar{background:var(--tm-bg-surface);border-radius:var(--tm-picker-border-radius);padding:var(--tm-space-3);user-select:none;}
.tm-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--tm-space-3);}
.tm-cal-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-sm);background:none;cursor:pointer;font-size:1.125rem;color:var(--tm-text-secondary);transition:background var(--tm-transition-fast),color var(--tm-transition-fast);}
.tm-cal-nav-btn:hover{background:var(--tm-color-gray-100);color:var(--tm-text-primary);}
.tm-cal-title{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);text-transform:capitalize;}
.tm-cal-grid{display:grid;grid-template-columns:repeat(7,var(--tm-cal-cell-size));gap:2px;}
.tm-cal-header-cell{display:flex;align-items:center;justify-content:center;width:var(--tm-cal-cell-size);height:1.75rem;font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-tertiary);text-transform:uppercase;}
.tm-cal-day{display:flex;align-items:center;justify-content:center;width:var(--tm-cal-cell-size);height:var(--tm-cal-cell-size);border:2px solid transparent;border-radius:var(--tm-radius-sm);background:none;cursor:pointer;font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);transition:background var(--tm-transition-fast),color var(--tm-transition-fast),border-color var(--tm-transition-fast);}
.tm-cal-day:hover:not(:disabled):not(.tm-cal-day--other-month){background:var(--tm-color-gray-100);}
.tm-cal-day--other-month{color:var(--tm-text-tertiary);opacity:0.5;cursor:default;}
.tm-cal-day--today{border-color:var(--tm-color-primary);}
.tm-cal-day--selected{background:var(--tm-cal-selected-bg);color:var(--tm-cal-selected-fg);border-color:var(--tm-cal-selected-bg);}
.tm-cal-day--selected:hover{background:var(--tm-color-primary-hover);}
.tm-cal-day--in-range{background:var(--tm-cal-range-bg);border-radius:0;}
.tm-cal-day--range-start{background:var(--tm-cal-selected-bg);color:var(--tm-cal-selected-fg);border-radius:var(--tm-radius-sm) 0 0 var(--tm-radius-sm);}
.tm-cal-day--range-end{background:var(--tm-cal-selected-bg);color:var(--tm-cal-selected-fg);border-radius:0 var(--tm-radius-sm) var(--tm-radius-sm) 0;}
.tm-cal-day--disabled{opacity:var(--tm-cal-disabled-opacity);cursor:not-allowed;pointer-events:none;}
.tm-time-input{display:inline-flex;align-items:center;gap:2px;background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);padding:var(--tm-space-1) var(--tm-space-2);transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-time-input:focus-within{border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-time-input--disabled{opacity:0.5;pointer-events:none;}
.tm-time-seg{width:2.5rem;text-align:center;border:none;background:none;font-size:var(--tm-font-size-sm);font-family:inherit;color:var(--tm-text-primary);padding:0;-moz-appearance:textfield;}
.tm-time-seg::-webkit-inner-spin-button,.tm-time-seg::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.tm-time-seg:focus{outline:none;color:var(--tm-color-primary);}
.tm-time-sep{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-bold);color:var(--tm-text-secondary);}
.tm-time-picker{display:inline-flex;flex-direction:column;gap:var(--tm-space-1);}
.tm-time-picker-body{display:inline-flex;align-items:center;gap:var(--tm-space-1);position:relative;}
.tm-time-picker--invalid .tm-time-input{border-color:var(--tm-color-danger);}
.tm-date-picker{display:inline-flex;flex-direction:column;gap:var(--tm-space-1);position:relative;}
.tm-date-picker-input-row{display:inline-flex;align-items:center;gap:var(--tm-space-1);}
.tm-date-picker-trigger{display:inline-flex;align-items:center;gap:var(--tm-space-2);min-width:10rem;padding:var(--tm-space-2) var(--tm-space-3);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);cursor:pointer;text-align:left;transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-date-picker-trigger:hover:not(:disabled){border-color:var(--tm-color-primary);}
.tm-date-picker-trigger:focus{outline:none;border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-date-picker-trigger[disabled]{opacity:0.5;cursor:not-allowed;}
.tm-date-picker-icon{margin-left:auto;color:var(--tm-text-tertiary);font-size:0.875rem;}
.tm-date-picker-icon::after{content:"\01F4C5";}
.tm-date-picker-popup{position:absolute;top:calc(100%+var(--tm-space-1));left:0;z-index:var(--tm-z-dropdown);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-lg);padding:var(--tm-space-2);min-width:max-content;}
.tm-date-picker-footer{display:flex;justify-content:flex-end;padding-top:var(--tm-space-2);border-top:1px solid var(--tm-border-color);margin-top:var(--tm-space-2);}
.tm-datetime-picker{display:inline-flex;flex-direction:column;gap:var(--tm-space-1);}
.tm-datetime-picker-body{display:inline-flex;align-items:flex-end;gap:var(--tm-space-3);flex-wrap:wrap;}
.tm-datetime-date-section{display:flex;flex-direction:column;gap:var(--tm-space-1);position:relative;}
.tm-datetime-time-section{display:flex;flex-direction:column;gap:var(--tm-space-1);justify-content:flex-end;}
.tm-datetime-picker--invalid .tm-time-input{border-color:var(--tm-color-danger);}
.tm-time-range-picker{display:inline-flex;flex-direction:column;gap:var(--tm-space-2);}
.tm-time-range-body{display:inline-flex;align-items:center;gap:var(--tm-space-3);flex-wrap:wrap;}
.tm-time-range-section{display:flex;flex-direction:column;gap:2px;}
.tm-time-range-label{font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-tertiary);text-transform:uppercase;letter-spacing:0.05em;}
.tm-time-range-sep{font-size:var(--tm-font-size-lg);color:var(--tm-text-tertiary);line-height:1;padding-top:var(--tm-space-4);}
.tm-time-range-swap-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-sm);background:none;cursor:pointer;color:var(--tm-text-secondary);font-size:1.125rem;margin-top:var(--tm-space-4);transition:background var(--tm-transition-fast),color var(--tm-transition-fast);}
.tm-time-range-swap-btn:hover{background:var(--tm-color-gray-100);color:var(--tm-text-primary);}
.tm-time-range--invalid .tm-time-input{border-color:var(--tm-color-danger);}
.tm-time-range-duration{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);}
.tm-date-range-picker{display:inline-flex;flex-direction:column;gap:var(--tm-space-1);position:relative;}
.tm-date-range-input-row{display:inline-flex;align-items:center;gap:var(--tm-space-1);}
.tm-date-range-trigger{display:inline-flex;align-items:center;gap:var(--tm-space-2);min-width:14rem;padding:var(--tm-space-2) var(--tm-space-3);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);cursor:pointer;text-align:left;transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-date-range-trigger:hover:not(:disabled){border-color:var(--tm-color-primary);}
.tm-date-range-trigger:focus{outline:none;border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-date-range-popup{position:absolute;top:calc(100%+var(--tm-space-1));left:0;z-index:var(--tm-z-dropdown);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-lg);padding:var(--tm-space-3);display:flex;flex-direction:column;gap:var(--tm-space-3);}
.tm-date-range-calendars{display:flex;gap:var(--tm-space-4);flex-wrap:nowrap;}
.tm-date-range-footer{display:flex;justify-content:flex-end;gap:var(--tm-space-2);padding-top:var(--tm-space-3);border-top:1px solid var(--tm-border-color);}
.tm-date-range-presets{display:flex;flex-wrap:wrap;gap:var(--tm-space-2);padding-bottom:var(--tm-space-3);border-bottom:1px solid var(--tm-border-color);}
.tm-date-range-preset-btn{padding:var(--tm-space-1) var(--tm-space-3);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-full);background:none;cursor:pointer;font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);white-space:nowrap;transition:background var(--tm-transition-fast),color var(--tm-transition-fast),border-color var(--tm-transition-fast);}
.tm-date-range-preset-btn:hover{background:var(--tm-color-primary-subtle);color:var(--tm-color-primary);border-color:var(--tm-color-primary);}
.tm-datetime-range-picker{display:flex;flex-direction:column;gap:var(--tm-space-2);}
.tm-datetime-range-body{display:flex;align-items:flex-start;gap:var(--tm-space-4);flex-wrap:wrap;}
.tm-datetime-range-section{display:flex;flex-direction:column;gap:var(--tm-space-1);}
.tm-datetime-range-label{font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-tertiary);text-transform:uppercase;letter-spacing:0.05em;}
.tm-datetime-range-sep{font-size:var(--tm-font-size-xl);color:var(--tm-text-tertiary);padding-top:var(--tm-space-5);}
.tm-datetime-range--invalid{}
.tm-tag-picker{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tm-space-2);position:relative;}
.tm-tag-chip{display:inline-flex;align-items:center;gap:var(--tm-space-1);padding:var(--tm-space-1) var(--tm-space-2);border-radius:var(--tm-radius-full);font-size:var(--tm-font-size-xs);color:white;line-height:1.4;}
.tm-tag-chip-remove{background:none;border:none;cursor:pointer;color:inherit;padding:0;margin-left:var(--tm-space-1);font-size:var(--tm-font-size-sm);line-height:1;opacity:0.7;transition:opacity var(--tm-transition-fast);}
.tm-tag-chip-remove:hover{opacity:1;}
.tm-tag-picker-trigger{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px dashed var(--tm-border-color);border-radius:var(--tm-radius-full);background:none;cursor:pointer;font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);transition:border-color var(--tm-transition-fast),color var(--tm-transition-fast);}
.tm-tag-picker-trigger:hover{border-color:var(--tm-color-primary);color:var(--tm-color-primary);}
.tm-tag-picker-dropdown{position:absolute;top:calc(100%+var(--tm-space-1));left:0;z-index:var(--tm-z-dropdown);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);box-shadow:var(--tm-shadow-lg);padding:var(--tm-space-2);min-width:12rem;max-height:16rem;overflow-y:auto;display:flex;flex-direction:column;gap:var(--tm-space-1);}
.tm-tag-picker-search{width:100%;padding:var(--tm-space-1) var(--tm-space-2);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-sm);font-size:var(--tm-font-size-sm);background:var(--tm-bg-surface);color:var(--tm-text-primary);margin-bottom:var(--tm-space-1);}
.tm-tag-picker-search:focus{outline:none;border-color:var(--tm-color-primary);}
.tm-tag-option{display:flex;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-1) var(--tm-space-2);cursor:pointer;font-size:var(--tm-font-size-sm);border-radius:var(--tm-radius-sm);transition:background var(--tm-transition-fast);}
.tm-tag-option:hover{background:var(--tm-bg-muted);}
.tm-tag-dot{width:0.625rem;height:0.625rem;border-radius:50%;flex-shrink:0;}
.tm-tag-create-option{padding:var(--tm-space-1) var(--tm-space-2);cursor:pointer;font-size:var(--tm-font-size-sm);color:var(--tm-color-primary);border-radius:var(--tm-radius-sm);font-style:italic;transition:background var(--tm-transition-fast);}
.tm-tag-create-option:hover{background:var(--tm-color-primary-subtle);}
.tm-calendar-view{width:100%;}
.tm-calendar-view .tm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;}
.tm-calendar-view__day-cell{position:relative;min-height:80px;padding:var(--tm-spacing-1,0.25rem);border:1px solid var(--tm-color-neutral-100,#f3f4f6);display:flex;flex-direction:column;gap:2px;}
.tm-calendar-view__day-cell .tm-cal-day{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:var(--tm-font-size-sm,0.875rem);cursor:pointer;border:none;background:transparent;color:var(--tm-color-neutral-700,#374151);transition:background-color 0.15s ease;align-self:flex-end;margin-bottom:2px;}
.tm-calendar-view__day-cell .tm-cal-day:hover:not(:disabled){background-color:var(--tm-color-neutral-100,#f3f4f6);}
.tm-calendar-view__day-cell .tm-cal-day--today{background-color:var(--tm-color-primary-50,#eff6ff);color:var(--tm-color-primary-600,#2563eb);font-weight:600;}
.tm-calendar-view__day-cell .tm-cal-day--selected{background-color:var(--tm-color-primary-600,#2563eb);color:white;}
.tm-calendar-view__day-cell .tm-cal-day--other-month{color:var(--tm-color-neutral-300,#d1d5db);}
.tm-calendar-view__day-cell .tm-cal-day--disabled{color:var(--tm-color-neutral-300,#d1d5db);cursor:not-allowed;}
.tm-calendar-view__event{font-size:0.7rem;line-height:1.2;padding:1px 4px;border-radius:var(--tm-radius-xs,0.125rem);background-color:var(--tm-color-primary-100,#dbeafe);border-left:3px solid var(--tm-color-primary-500,#3b82f6);color:var(--tm-color-neutral-700,#374151);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity 0.15s ease;}
.tm-calendar-view__event:hover{opacity:0.8;}
.tm-calendar-view__highlighted{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background-color:var(--tm-color-primary-400,#60a5fa);}
[data-theme="dark"] .tm-calendar-view__day-cell,.tm-dark .tm-calendar-view__day-cell{border-color:var(--tm-color-neutral-800,#1f2937);}
[data-theme="dark"] .tm-calendar-view__day-cell .tm-cal-day,.tm-dark .tm-calendar-view__day-cell .tm-cal-day{color:var(--tm-color-neutral-300,#d1d5db);}
[data-theme="dark"] .tm-calendar-view__day-cell .tm-cal-day:hover:not(:disabled),.tm-dark .tm-calendar-view__day-cell .tm-cal-day:hover:not(:disabled){background-color:var(--tm-color-neutral-800,#1f2937);}
[data-theme="dark"] .tm-calendar-view__day-cell .tm-cal-day--today,.tm-dark .tm-calendar-view__day-cell .tm-cal-day--today{background-color:var(--tm-color-primary-900,#1e3a5f);color:var(--tm-color-primary-300,#93c5fd);}
[data-theme="dark"] .tm-calendar-view__event,.tm-dark .tm-calendar-view__event{background-color:var(--tm-color-primary-900,#1e3a5f);color:var(--tm-color-primary-200,#bfdbfe);border-left-color:var(--tm-color-primary-400,#60a5fa);}
.tm-dropdown{position:relative;display:inline-flex;}
.tm-dropdown-menu{position:absolute;z-index:var(--tm-z-dropdown);min-width:10rem;background-color:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-lg);padding:var(--tm-space-1);animation:tm-fade-in var(--tm-transition-fast);}
.tm-dropdown-item{display:flex;align-items:center;gap:var(--tm-space-2);width:100%;padding:var(--tm-space-2) var(--tm-space-3);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);background:none;border:none;border-radius:var(--tm-radius-md);cursor:pointer;text-align:left;transition:background-color var(--tm-transition-fast);text-decoration:none;}
.tm-dropdown-item:hover{background-color:var(--tm-color-gray-50);}
.tm-dropdown-item:disabled,.tm-dropdown-item[disabled]{opacity:0.5;cursor:not-allowed;}
.tm-dropdown-item-danger{color:var(--tm-color-danger);}
.tm-dropdown-item-danger:hover{background-color:var(--tm-color-danger-subtle);}
.tm-dropdown-sep{height:1px;background-color:var(--tm-border-color);margin:var(--tm-space-1) 0;}
.tm-filterable-dropdown{position:relative;display:inline-flex;flex-direction:column;}
.tm-filterable-dropdown-trigger{display:inline-flex;align-items:center;gap:var(--tm-space-2);min-width:12rem;padding:var(--tm-space-2) var(--tm-space-3);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);cursor:pointer;transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-filterable-dropdown-trigger:hover{border-color:var(--tm-color-primary);}
.tm-filterable-dropdown-placeholder{color:var(--tm-text-tertiary);}
.tm-filterable-dropdown-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tm-filterable-dropdown-clear{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--tm-text-tertiary);font-size:var(--tm-font-size-sm);padding:0 var(--tm-space-1);line-height:1;border-radius:50%;transition:color var(--tm-transition-fast);}
.tm-filterable-dropdown-clear:hover{color:var(--tm-color-danger);}
.tm-filterable-dropdown-menu{position:absolute;top:calc(100%+var(--tm-space-1));left:0;right:0;z-index:var(--tm-z-dropdown);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);box-shadow:var(--tm-shadow-lg);max-height:16rem;overflow-y:auto;}
.tm-filterable-dropdown-filter{padding:var(--tm-space-2);border-bottom:1px solid var(--tm-border-color);}
.tm-filterable-dropdown-filter-input{width:100%;padding:var(--tm-space-1) var(--tm-space-2);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-sm);font-size:var(--tm-font-size-sm);background:var(--tm-bg-surface);color:var(--tm-text-primary);}
.tm-filterable-dropdown-filter-input:focus{outline:none;border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-filterable-dropdown-loading,.tm-filterable-dropdown-empty{padding:var(--tm-space-3);text-align:center;font-size:var(--tm-font-size-sm);color:var(--tm-text-tertiary);}
.tm-filterable-dropdown-error{padding:var(--tm-space-3);text-align:center;font-size:var(--tm-font-size-sm);color:var(--tm-color-danger);display:flex;flex-direction:column;align-items:center;gap:var(--tm-space-2);}
.tm-filterable-dropdown-error button{padding:var(--tm-space-1) var(--tm-space-3);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);background:none;cursor:pointer;font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);}
.tm-filterable-dropdown-error button:hover{border-color:var(--tm-color-primary);color:var(--tm-color-primary);}
.tm-filterable-dropdown-item{padding:var(--tm-space-2) var(--tm-space-3);cursor:pointer;font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);transition:background var(--tm-transition-fast);}
.tm-filterable-dropdown-item:hover{background:var(--tm-bg-muted);}
.tm-filterable-dropdown-item-selected{background:var(--tm-color-primary-subtle);color:var(--tm-color-primary);}
.tm-command-palette-backdrop{position:fixed;inset:0;background-color:var(--tm-bg-overlay);z-index:var(--tm-z-modal);display:flex;align-items:flex-start;justify-content:center;padding-top:5rem;animation:tm-fade-in var(--tm-transition-fast);}
.tm-command-palette{width:min(40rem,calc(100vw - 2rem));background-color:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-xl);box-shadow:var(--tm-shadow-xl);overflow:hidden;}
.tm-command-palette-input-wrapper{display:flex;align-items:center;gap:var(--tm-space-3);padding:var(--tm-space-4);border-bottom:1px solid var(--tm-border-color);}
.tm-command-palette-input{flex:1;font-family:var(--tm-font-sans);font-size:var(--tm-font-size-md);color:var(--tm-text-primary);background:none;border:none;outline:none;}
.tm-command-palette-input::placeholder{color:var(--tm-text-secondary);}
.tm-command-palette-results{max-height:24rem;overflow-y:auto;padding:var(--tm-space-2);}
.tm-command-palette-empty{padding:var(--tm-space-8);text-align:center;color:var(--tm-text-secondary);font-size:var(--tm-font-size-sm);}
.tm-command-palette-group-label{padding:var(--tm-space-2) var(--tm-space-3);font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-secondary);text-transform:uppercase;letter-spacing:0.05em;}
.tm-command-palette-item{display:flex;align-items:center;gap:var(--tm-space-3);width:100%;padding:var(--tm-space-3);border-radius:var(--tm-radius-md);border:none;background:none;text-align:left;cursor:pointer;transition:background-color var(--tm-transition-fast);}
.tm-command-palette-item:hover,.tm-command-palette-item-focused{background-color:var(--tm-color-gray-50);}
.tm-command-palette-item-title{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-primary);}
.tm-command-palette-item-description{font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);margin-top:var(--tm-space-1);}
.tm-command-palette-item-shortcut{margin-left:auto;font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);background-color:var(--tm-color-gray-100);padding:0.125rem 0.375rem;border-radius:var(--tm-radius-sm);font-family:var(--tm-font-mono);}
.tm-context-menu-wrapper{position:relative;display:inline-flex;}
.tm-context-menu__trigger{display:inline-flex;cursor:pointer;}
.tm-context-menu{position:absolute;top:100%;right:0;z-index:var(--tm-z-dropdown,1020);min-width:10rem;padding:0.25rem;background-color:#fff;border:1px solid var(--tm-color-neutral-200);border-radius:var(--tm-radius-lg);box-shadow:0 4px 16px rgba(0,0,0,0.1),0 1px 4px rgba(0,0,0,0.06);animation:tm-fade-in 0.12s ease;margin-top:0.25rem;}
.tm-context-menu__item{display:flex;align-items:center;gap:0.5rem;width:100%;padding:0.5rem 0.75rem;font-size:0.875rem;line-height:1.25rem;color:var(--tm-color-neutral-700);background:transparent;border:none;border-radius:var(--tm-radius-md);cursor:pointer;text-align:left;transition:background-color 0.1s ease,color 0.1s ease;}
.tm-context-menu__item:hover:not(.tm-context-menu__item--disabled){background-color:var(--tm-color-neutral-100);color:var(--tm-color-neutral-900);}
.tm-context-menu__item:focus-visible{outline:2px solid var(--tm-color-primary-500);outline-offset:-2px;}
.tm-context-menu__item--disabled{color:var(--tm-color-neutral-400);cursor:not-allowed;opacity:0.6;}
.tm-context-menu__item--danger{color:var(--tm-color-danger-600,#dc2626);}
.tm-context-menu__item--danger:hover:not(.tm-context-menu__item--disabled){background-color:#fef2f2;color:var(--tm-color-danger-700,#b91c1c);}
.tm-context-menu__item-icon{display:inline-flex;align-items:center;flex-shrink:0;color:var(--tm-color-neutral-500);}
.tm-context-menu__item--danger .tm-context-menu__item-icon{color:currentColor;}
.tm-context-menu__item-label{flex:1;}
.tm-context-menu__divider{height:1px;margin:0.25rem 0.5rem;background-color:var(--tm-color-neutral-200);}
[data-theme="dark"] .tm-context-menu,.tm-dark .tm-context-menu{background-color:var(--tm-color-neutral-800);border-color:var(--tm-color-neutral-700);box-shadow:0 4px 16px rgba(0,0,0,0.35);}
[data-theme="dark"] .tm-context-menu__item,.tm-dark .tm-context-menu__item{color:var(--tm-color-neutral-300);}
[data-theme="dark"] .tm-context-menu__item:hover:not(.tm-context-menu__item--disabled),.tm-dark .tm-context-menu__item:hover:not(.tm-context-menu__item--disabled){background-color:var(--tm-color-neutral-700);color:var(--tm-color-neutral-100);}
[data-theme="dark"] .tm-context-menu__item--danger,.tm-dark .tm-context-menu__item--danger{color:#fca5a5;}
[data-theme="dark"] .tm-context-menu__item--danger:hover:not(.tm-context-menu__item--disabled),.tm-dark .tm-context-menu__item--danger:hover:not(.tm-context-menu__item--disabled){background-color:rgba(239,68,68,0.15);color:#fca5a5;}
[data-theme="dark"] .tm-context-menu__item-icon,.tm-dark .tm-context-menu__item-icon{color:var(--tm-color-neutral-500);}
[data-theme="dark"] .tm-context-menu__divider,.tm-dark .tm-context-menu__divider{background-color:var(--tm-color-neutral-700);}
.tm-filter-chip{display:inline-flex;align-items:center;gap:var(--tm-space-1);padding:var(--tm-space-1) var(--tm-space-2);background:var(--tm-color-primary-subtle);border:1px solid var(--tm-color-primary);border-radius:var(--tm-radius-full);font-size:var(--tm-font-size-xs);color:var(--tm-color-primary);cursor:pointer;user-select:none;}
.tm-filter-chip-field{font-weight:var(--tm-font-weight-semibold);}
.tm-filter-chip-remove{background:none;border:none;cursor:pointer;color:var(--tm-color-primary);padding:0 var(--tm-space-1);font-size:var(--tm-font-size-base);line-height:1;opacity:0.7;}
.tm-filter-chip-remove:hover{opacity:1;}
.tm-filter-builder{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tm-space-2);}
.tm-filter-chips{display:flex;flex-wrap:wrap;gap:var(--tm-space-2);align-items:center;}
.tm-filter-builder-add{padding:var(--tm-space-1) var(--tm-space-3);border:1px dashed var(--tm-border-color);border-radius:var(--tm-radius-full);background:none;cursor:pointer;font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);transition:border-color var(--tm-transition-fast),color var(--tm-transition-fast);}
.tm-filter-builder-add:hover{border-color:var(--tm-color-primary);color:var(--tm-color-primary);}
.tm-filter-field-picker{display:flex;flex-direction:column;background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);box-shadow:var(--tm-shadow-lg);padding:var(--tm-space-2);gap:var(--tm-space-1);min-width:12rem;z-index:var(--tm-z-dropdown);}
.tm-filter-field-option{padding:var(--tm-space-2) var(--tm-space-3);background:none;border:none;cursor:pointer;text-align:left;font-size:var(--tm-font-size-sm);border-radius:var(--tm-radius-sm);}
.tm-filter-field-option:hover{background:var(--tm-bg-muted);}
.tm-filter-editor{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-2) var(--tm-space-3);background:var(--tm-bg-muted);border-radius:var(--tm-radius-md);}
.tm-filter-editor-field{font-weight:var(--tm-font-weight-semibold);font-size:var(--tm-font-size-sm);}
.tm-filter-operator-select,.tm-filter-value-input,.tm-filter-select{padding:var(--tm-space-1) var(--tm-space-2);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);background:var(--tm-bg-surface);font-size:var(--tm-font-size-sm);}
.tm-filter-apply{padding:var(--tm-space-1) var(--tm-space-3);background:var(--tm-color-primary);color:white;border:none;border-radius:var(--tm-radius-md);cursor:pointer;font-size:var(--tm-font-size-sm);}
.tm-filter-cancel{padding:var(--tm-space-1) var(--tm-space-3);background:none;border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);cursor:pointer;font-size:var(--tm-font-size-sm);}
.tm-filter-clear-all{padding:var(--tm-space-1) var(--tm-space-2);background:none;border:none;cursor:pointer;font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);text-decoration:underline;}
.tm-filter-clear-all:hover{color:var(--tm-color-danger);}
.tm-timeline{display:flex;flex-direction:column;gap:var(--tm-space-4);}
.tm-timeline-entry{display:flex;flex-direction:column;gap:var(--tm-space-2);padding:var(--tm-space-3) var(--tm-space-4);border-left:2px solid var(--tm-border-color);position:relative;}
.tm-timeline-entry::before{content:"";position:absolute;left:-5px;top:var(--tm-space-4);width:8px;height:8px;border-radius:50%;background:var(--tm-color-primary);border:2px solid var(--tm-bg-surface,var(--tm-bg-page));}
.tm-timeline-entry-internal{background:var(--tm-color-warning-subtle);border-radius:var(--tm-radius-md);}
.tm-timeline-entry-internal::before{background:var(--tm-color-warning);}
.tm-timeline-header{display:flex;align-items:center;gap:var(--tm-space-2);flex-wrap:wrap;}
.tm-timeline-author{font-weight:var(--tm-font-weight-semibold);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);}
.tm-timeline-timestamp{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);}
.tm-timeline-internal-badge{display:inline-flex;align-items:center;padding:0.125rem var(--tm-space-2);border-radius:var(--tm-radius-full);font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-medium);background:var(--tm-color-warning-subtle);color:var(--tm-color-warning-text);border:1px solid var(--tm-color-warning-soft-border);}
.tm-timeline-content{font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);line-height:var(--tm-line-height-normal);}
.tm-timeline-empty{padding:var(--tm-space-6);text-align:center;color:var(--tm-text-tertiary);font-size:var(--tm-font-size-sm);}
.tm-stepper{display:flex;width:100%;}
.tm-stepper--horizontal{flex-direction:row;justify-content:space-between;align-items:flex-start;}
.tm-stepper--horizontal .tm-stepper-item{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;}
.tm-stepper--horizontal .tm-stepper-step{display:flex;flex-direction:column;align-items:center;text-align:center;z-index:2;background:var(--tm-bg-surface);padding:0 var(--tm-space-2);}
.tm-stepper--horizontal .tm-stepper-content{margin-top:var(--tm-space-3);max-width:160px;}
.tm-stepper--horizontal .tm-stepper-connector{position:absolute;top:calc(var(--tm-stepper-indicator-size,40px) / 2);left:50%;right:-50%;height:2px;z-index:1;transform:translateY(-50%);}
.tm-stepper--horizontal .tm-stepper-item--last .tm-stepper-connector{display:none;}
.tm-stepper--vertical{flex-direction:column;gap:0;}
.tm-stepper--vertical .tm-stepper-item{display:flex;position:relative;min-height:calc(var(--tm-stepper-indicator-size,40px)+var(--tm-space-6));}
.tm-stepper--vertical .tm-stepper-step{display:flex;align-items:flex-start;gap:var(--tm-space-4);z-index:2;background:var(--tm-bg-surface);padding-right:var(--tm-space-4);}
.tm-stepper--vertical .tm-stepper-content{padding-top:calc((var(--tm-stepper-indicator-size,40px) - var(--tm-font-size-base)) / 2);}
.tm-stepper--vertical .tm-stepper-connector{position:absolute;left:calc(var(--tm-stepper-indicator-size,40px) / 2);top:var(--tm-stepper-indicator-size,40px);bottom:0;width:2px;z-index:1;transform:translateX(-50%);}
.tm-stepper--vertical .tm-stepper-item--last{min-height:auto;}
.tm-stepper--vertical .tm-stepper-item--last .tm-stepper-connector{display:none;}
.tm-stepper-indicator{--tm-stepper-indicator-size:40px;width:var(--tm-stepper-indicator-size);height:var(--tm-stepper-indicator-size);display:flex;align-items:center;justify-content:center;border-radius:var(--tm-radius-full);background:var(--tm-bg-muted);border:2px solid var(--tm-border-color);color:var(--tm-text-secondary);font-weight:var(--tm-font-weight-semibold);font-size:var(--tm-font-size-sm);transition:all var(--tm-transition-base);flex-shrink:0;}
.tm-stepper-number{line-height:1;}
.tm-stepper-step--completed .tm-stepper-indicator{background:var(--tm-color-success);border-color:var(--tm-color-success);color:white;}
.tm-stepper-step--completed:hover .tm-stepper-indicator{background:var(--tm-color-success-hover,#059669);border-color:var(--tm-color-success-hover,#059669);}
.tm-stepper-step--active .tm-stepper-indicator{background:var(--tm-color-primary);border-color:var(--tm-color-primary);color:white;box-shadow:0 0 0 4px var(--tm-color-primary-subtle);}
.tm-stepper-step--active:hover .tm-stepper-indicator{background:var(--tm-color-primary-hover);border-color:var(--tm-color-primary-hover);}
.tm-stepper-step--pending .tm-stepper-indicator{background:var(--tm-bg-surface);border-color:var(--tm-border-color);color:var(--tm-text-muted);}
.tm-stepper-step--clickable{cursor:pointer;}
.tm-stepper-step--clickable:hover{opacity:0.9;}
.tm-stepper-step--clickable:hover .tm-stepper-indicator{transform:scale(1.05);}
.tm-stepper-step--clickable:focus{outline:2px solid var(--tm-color-primary);outline-offset:2px;border-radius:var(--tm-radius-md);}
.tm-stepper-label{font-weight:var(--tm-font-weight-semibold);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);line-height:1.4;}
.tm-stepper-step--active .tm-stepper-label{color:var(--tm-color-primary);}
.tm-stepper-step--pending .tm-stepper-label{color:var(--tm-text-muted);}
.tm-stepper-description{font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);margin-top:var(--tm-space-1);line-height:1.4;}
.tm-stepper-step--pending .tm-stepper-description{color:var(--tm-text-muted);}
.tm-stepper-connector-line{width:100%;height:100%;background:var(--tm-border-color);transition:background var(--tm-transition-base);}
.tm-stepper-connector-line--completed{background:var(--tm-color-success);}
.tm-stepper-connector-line--completed{animation:stepperLineComplete 0.4s ease forwards;}
@keyframes stepperLineComplete{from{background:linear-gradient(to right,var(--tm-color-success) 0%,var(--tm-border-color) 0%);}
to{background:linear-gradient(to right,var(--tm-color-success) 100%,var(--tm-border-color) 100%);}
}
.tm-stepper--small .tm-stepper-indicator{--tm-stepper-indicator-size:28px;font-size:var(--tm-font-size-xs);}
.tm-stepper--small .tm-stepper-label{font-size:var(--tm-font-size-xs);}
.tm-stepper--small .tm-stepper-description{font-size:var(--tm-font-size-xs);}
.tm-stepper--large .tm-stepper-indicator{--tm-stepper-indicator-size:56px;font-size:var(--tm-font-size-base);}
.tm-stepper--large .tm-stepper-content{max-width:200px;}
.tm-stepper--large .tm-stepper-label{font-size:var(--tm-font-size-base);}
.tm-stepper--large .tm-stepper-description{font-size:var(--tm-font-size-sm);}
@media (max-width:768px){.tm-stepper--horizontal{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:var(--tm-space-2);}
.tm-stepper--horizontal .tm-stepper-item{flex:0 0 auto;min-width:100px;scroll-snap-align:start;}
.tm-stepper--horizontal .tm-stepper-step{padding:0 var(--tm-space-1);}
.tm-stepper--horizontal .tm-stepper-content{max-width:100px;}
.tm-stepper-description{display:none;}
}
[data-theme="dark"] .tm-stepper-step{background:var(--tm-bg-surface);}
[data-theme="dark"] .tm-stepper-step--pending .tm-stepper-indicator{background:var(--tm-bg-surface-secondary);border-color:var(--tm-border-color);}
[data-theme="dark"] .tm-stepper-connector-line{background:var(--tm-border-color-subtle,#374151);}
.tm-notif-bell-btn{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;color:var(--tm-text-secondary);border-radius:var(--tm-radius-md);border:none;background:none;cursor:pointer;transition:background-color var(--tm-transition-fast),color var(--tm-transition-fast);}
.tm-notif-bell-btn:hover{background-color:var(--tm-color-gray-100);color:var(--tm-text-primary);}
.tm-notif-badge{position:absolute;top:0.125rem;right:0.125rem;min-width:1rem;height:1rem;padding:0 0.25rem;font-size:0.625rem;font-weight:var(--tm-font-weight-bold);color:var(--tm-color-white);background-color:var(--tm-color-danger);border-radius:var(--tm-radius-full);display:flex;align-items:center;justify-content:center;border:2px solid var(--tm-bg-surface);}
.tm-notification-severity{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.tm-notification-severity--info{color:var(--tm-color-primary);}
.tm-notification-severity--success{color:var(--tm-color-success);}
.tm-notification-severity--warning{color:var(--tm-color-warning);}
.tm-notification-severity--error{color:var(--tm-color-danger);}
.tm-notification-mark-read{background:none;border:none;cursor:pointer;color:var(--tm-text-tertiary);padding:0 var(--tm-space-1);opacity:0.6;transition:opacity var(--tm-transition-fast);}
.tm-notification-mark-read:hover{opacity:1;color:var(--tm-color-primary);}
.tm-toast-container{position:fixed;z-index:var(--tm-z-toast,9999);display:flex;flex-direction:column;gap:var(--tm-spacing-3,0.75rem);pointer-events:none;max-height:100vh;overflow:hidden;padding:var(--tm-spacing-4,1rem);}
.tm-toast-container--top-right{top:0;right:0;}
.tm-toast-container--top-left{top:0;left:0;}
.tm-toast-container--bottom-right{bottom:0;right:0;}
.tm-toast-container--bottom-left{bottom:0;left:0;}
.tm-toast{pointer-events:auto;width:380px;max-width:calc(100vw - 2rem);background:var(--tm-color-surface,#ffffff);border-radius:var(--tm-radius-lg,0.75rem);box-shadow:var(--tm-shadow-lg,0 10px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1));border:1px solid var(--tm-color-border,#e5e7eb);overflow:hidden;animation:tmToastSlideIn 0.3s cubic-bezier(0.21,1.02,0.73,1) forwards;}
.tm-toast-body{display:flex;align-items:flex-start;gap:var(--tm-spacing-3,0.75rem);padding:var(--tm-spacing-4,1rem);}
.tm-toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;}
.tm-toast-content{flex:1;min-width:0;}
.tm-toast-title{font-weight:600;font-size:var(--tm-text-sm,0.875rem);line-height:1.4;margin-bottom:2px;color:var(--tm-color-text,#1e293b);}
.tm-toast-message{font-size:var(--tm-text-sm,0.875rem);line-height:1.5;color:var(--tm-color-text-secondary,#64748b);}
.tm-toast-dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--tm-radius-md,0.5rem);cursor:pointer;color:var(--tm-color-text-muted,#94a3b8);transition:background-color 0.15s,color 0.15s;}
.tm-toast-dismiss:hover{background:var(--tm-color-bg-hover,rgba(0,0,0,0.05));color:var(--tm-color-text,#1e293b);}
.tm-toast-progress{height:3px;background:rgba(0,0,0,0.05);}
.tm-toast-progress-bar{height:100%;width:100%;transform-origin:left;animation:tmToastProgress linear forwards;}
.tm-toast--success{border-left:4px solid var(--tm-color-success,#22c55e);}
.tm-toast--success .tm-toast-icon{color:var(--tm-color-success,#22c55e);}
.tm-toast--success .tm-toast-progress-bar{background:var(--tm-color-success,#22c55e);}
.tm-toast--error{border-left:4px solid var(--tm-color-error,#ef4444);}
.tm-toast--error .tm-toast-icon{color:var(--tm-color-error,#ef4444);}
.tm-toast--error .tm-toast-progress-bar{background:var(--tm-color-error,#ef4444);}
.tm-toast--warning{border-left:4px solid var(--tm-color-warning,#f97316);}
.tm-toast--warning .tm-toast-icon{color:var(--tm-color-warning,#f97316);}
.tm-toast--warning .tm-toast-progress-bar{background:var(--tm-color-warning,#f97316);}
.tm-toast--info{border-left:4px solid var(--tm-color-info,#3b82f6);}
.tm-toast--info .tm-toast-icon{color:var(--tm-color-info,#3b82f6);}
.tm-toast--info .tm-toast-progress-bar{background:var(--tm-color-info,#3b82f6);}
@keyframes tmToastSlideIn{from{opacity:0;transform:translateX(100%);}
to{opacity:1;transform:translateX(0);}
}
.tm-toast-container--top-left .tm-toast,.tm-toast-container--bottom-left .tm-toast{animation-name:tmToastSlideInLeft;}
@keyframes tmToastSlideInLeft{from{opacity:0;transform:translateX(-100%);}
to{opacity:1;transform:translateX(0);}
}
@keyframes tmToastProgress{from{transform:scaleX(1);}
to{transform:scaleX(0);}
}
[data-theme="dark"] .tm-toast,.tm-dark .tm-toast{background:var(--tm-color-surface,#1e293b);border-color:rgba(255,255,255,0.1);box-shadow:0 10px 25px -5px rgba(0,0,0,.4),0 8px 10px -6px rgba(0,0,0,.3);}
[data-theme="dark"] .tm-toast-title,.tm-dark .tm-toast-title{color:var(--tm-color-text,#f1f5f9);}
[data-theme="dark"] .tm-toast-message,.tm-dark .tm-toast-message{color:var(--tm-color-text-secondary,#94a3b8);}
[data-theme="dark"] .tm-toast-dismiss:hover,.tm-dark .tm-toast-dismiss:hover{background:rgba(255,255,255,0.1);color:var(--tm-color-text,#f1f5f9);}
[data-theme="dark"] .tm-toast-progress,.tm-dark .tm-toast-progress{background:rgba(255,255,255,0.05);}
@media (prefers-reduced-motion:reduce){.tm-toast{animation:none;}
.tm-toast-progress-bar{animation:none;}
}
@media (max-width:640px){.tm-toast-container{left:0;right:0;padding:var(--tm-spacing-2,0.5rem);}
.tm-toast{width:100%;}
}
.tm-alert{display:flex;align-items:flex-start;gap:0.75rem;padding:0.875rem 1rem;border-radius:var(--tm-radius-lg);font-size:0.875rem;line-height:1.5;position:relative;transition:opacity 0.2s ease,transform 0.2s ease;}
.tm-alert__icon{display:flex;align-items:center;flex-shrink:0;margin-top:0.0625rem;}
.tm-alert__body{flex:1;min-width:0;}
.tm-alert__title{font-weight:600;margin-bottom:0.125rem;}
.tm-alert__description{opacity:0.9;}
.tm-alert__actions{display:flex;gap:0.5rem;margin-top:0.5rem;}
.tm-alert__dismiss{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:var(--tm-radius-sm);cursor:pointer;opacity:0.6;transition:opacity 0.15s ease,background-color 0.15s ease;}
.tm-alert__dismiss:hover{opacity:1;}
.tm-alert__dismiss:focus-visible{outline:2px solid currentColor;outline-offset:1px;}
.tm-alert--soft.tm-alert--info{background-color:var(--tm-color-primary-50);color:var(--tm-color-primary-800);border:1px solid var(--tm-color-primary-200);}
.tm-alert--soft.tm-alert--success{background-color:#f0fdf4;color:#166534;border:1px solid #bbf7d0;}
.tm-alert--soft.tm-alert--warning{background-color:#fffbeb;color:#92400e;border:1px solid #fde68a;}
.tm-alert--soft.tm-alert--error{background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca;}
.tm-alert--filled.tm-alert--info{background-color:var(--tm-color-primary-600);color:#fff;}
.tm-alert--filled.tm-alert--success{background-color:#16a34a;color:#fff;}
.tm-alert--filled.tm-alert--warning{background-color:#d97706;color:#fff;}
.tm-alert--filled.tm-alert--error{background-color:#dc2626;color:#fff;}
.tm-alert--outlined.tm-alert--info{background-color:transparent;color:var(--tm-color-primary-700);border:1px solid var(--tm-color-primary-400);}
.tm-alert--outlined.tm-alert--success{background-color:transparent;color:#15803d;border:1px solid #4ade80;}
.tm-alert--outlined.tm-alert--warning{background-color:transparent;color:#a16207;border:1px solid #fbbf24;}
.tm-alert--outlined.tm-alert--error{background-color:transparent;color:#b91c1c;border:1px solid #f87171;}
[data-theme="dark"] .tm-alert--soft.tm-alert--info,.tm-dark .tm-alert--soft.tm-alert--info{background-color:rgba(var(--tm-color-primary-500-rgb,99,102,241),0.1);color:var(--tm-color-primary-300);border-color:rgba(var(--tm-color-primary-500-rgb,99,102,241),0.25);}
[data-theme="dark"] .tm-alert--soft.tm-alert--success,.tm-dark .tm-alert--soft.tm-alert--success{background-color:rgba(34,197,94,0.1);color:#86efac;border-color:rgba(34,197,94,0.25);}
[data-theme="dark"] .tm-alert--soft.tm-alert--warning,.tm-dark .tm-alert--soft.tm-alert--warning{background-color:rgba(245,158,11,0.1);color:#fcd34d;border-color:rgba(245,158,11,0.25);}
[data-theme="dark"] .tm-alert--soft.tm-alert--error,.tm-dark .tm-alert--soft.tm-alert--error{background-color:rgba(239,68,68,0.1);color:#fca5a5;border-color:rgba(239,68,68,0.25);}
[data-theme="dark"] .tm-alert--outlined.tm-alert--info,.tm-dark .tm-alert--outlined.tm-alert--info{color:var(--tm-color-primary-300);border-color:var(--tm-color-primary-500);}
[data-theme="dark"] .tm-alert--outlined.tm-alert--success,.tm-dark .tm-alert--outlined.tm-alert--success{color:#86efac;border-color:#22c55e;}
[data-theme="dark"] .tm-alert--outlined.tm-alert--warning,.tm-dark .tm-alert--outlined.tm-alert--warning{color:#fcd34d;border-color:#f59e0b;}
[data-theme="dark"] .tm-alert--outlined.tm-alert--error,.tm-dark .tm-alert--outlined.tm-alert--error{color:#fca5a5;border-color:#ef4444;}
@media (prefers-reduced-motion:reduce){.tm-alert{transition:none;}
}
.tm-progress-bar{display:flex;align-items:center;gap:0.5rem;width:100%;}
.tm-progress-bar__track{flex:1;display:flex;overflow:hidden;border-radius:9999px;background-color:var(--tm-color-neutral-200);}
.tm-progress-bar__fill{height:100%;border-radius:9999px;background-color:var(--tm-color-primary-600);transition:width 0.3s ease;}
.tm-progress-bar__label{font-size:0.75rem;font-weight:500;color:var(--tm-color-neutral-600);white-space:nowrap;min-width:2.5rem;text-align:right;}
.tm-progress-bar--sm .tm-progress-bar__track{height:0.375rem;}
.tm-progress-bar--md .tm-progress-bar__track{height:0.625rem;}
.tm-progress-bar--lg .tm-progress-bar__track{height:1rem;}
.tm-progress-bar--success .tm-progress-bar__fill{background-color:#22c55e;}
.tm-progress-bar--warning .tm-progress-bar__fill{background-color:#f59e0b;}
.tm-progress-bar--error .tm-progress-bar__fill{background-color:#ef4444;}
.tm-progress-bar--gradient .tm-progress-bar__fill{background:linear-gradient(90deg,var(--tm-color-primary-500),#8b5cf6,#ec4899);}
.tm-progress-bar--striped .tm-progress-bar__fill{background-image:linear-gradient( 45deg,rgba(255,255,255,0.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.2) 50%,rgba(255,255,255,0.2) 75%,transparent 75%,transparent );background-size:1rem 1rem;}
.tm-progress-bar--animated .tm-progress-bar__fill{animation:tm-progress-stripe 1s linear infinite;}
@keyframes tm-progress-stripe{from{background-position:1rem 0;}
to{background-position:0 0;}
}
.tm-progress-bar--indeterminate .tm-progress-bar__fill--indeterminate{width:40% !important;animation:tm-progress-indeterminate 1.5s ease-in-out infinite;}
@keyframes tm-progress-indeterminate{0%{transform:translateX(-100%);}
100%{transform:translateX(350%);}
}
.tm-progress-bar__segment{border-radius:0;transition:width 0.3s ease;}
.tm-progress-bar__segment:first-child{border-radius:9999px 0 0 9999px;}
.tm-progress-bar__segment:last-child{border-radius:0 9999px 9999px 0;}
.tm-progress-bar__segment:only-child{border-radius:9999px;}
[data-theme="dark"] .tm-progress-bar__track,.tm-dark .tm-progress-bar__track{background-color:var(--tm-color-neutral-700);}
[data-theme="dark"] .tm-progress-bar__label,.tm-dark .tm-progress-bar__label{color:var(--tm-color-neutral-400);}
@media (prefers-reduced-motion:reduce){.tm-progress-bar__fill{transition:none;}
.tm-progress-bar--animated .tm-progress-bar__fill,.tm-progress-bar--indeterminate .tm-progress-bar__fill--indeterminate{animation:none;}
}
.tm-tooltip{position:relative;display:inline-flex;}
.tm-tooltip__trigger{display:inline-flex;}
.tm-tooltip__content{position:absolute;z-index:var(--tm-z-tooltip,1000);padding:0.375rem 0.625rem;font-size:0.75rem;font-weight:500;line-height:1.4;color:#fff;background-color:var(--tm-color-neutral-800);border-radius:var(--tm-radius-md);white-space:normal;word-wrap:break-word;pointer-events:none;opacity:0;transition:opacity 0.15s ease,transform 0.15s ease;box-shadow:0 2px 8px rgba(0,0,0,0.15);}
.tm-tooltip__content::after{content:"";position:absolute;border:5px solid transparent;}
.tm-tooltip--top .tm-tooltip__content{bottom:calc(100%+8px);left:50%;transform:translateX(-50%) translateY(4px);}
.tm-tooltip--top .tm-tooltip__content::after{top:100%;left:50%;transform:translateX(-50%);border-top-color:var(--tm-color-neutral-800);}
.tm-tooltip--bottom .tm-tooltip__content{top:calc(100%+8px);left:50%;transform:translateX(-50%) translateY(-4px);}
.tm-tooltip--bottom .tm-tooltip__content::after{bottom:100%;left:50%;transform:translateX(-50%);border-bottom-color:var(--tm-color-neutral-800);}
.tm-tooltip--left .tm-tooltip__content{right:calc(100%+8px);top:50%;transform:translateY(-50%) translateX(4px);}
.tm-tooltip--left .tm-tooltip__content::after{left:100%;top:50%;transform:translateY(-50%);border-left-color:var(--tm-color-neutral-800);}
.tm-tooltip--right .tm-tooltip__content{left:calc(100%+8px);top:50%;transform:translateY(-50%) translateX(-4px);}
.tm-tooltip--right .tm-tooltip__content::after{right:100%;top:50%;transform:translateY(-50%);border-right-color:var(--tm-color-neutral-800);}
.tm-tooltip:hover .tm-tooltip__content,.tm-tooltip__trigger:focus-within~.tm-tooltip__content{opacity:1;pointer-events:auto;}
.tm-tooltip--top:hover .tm-tooltip__content,.tm-tooltip--top .tm-tooltip__trigger:focus-within~.tm-tooltip__content{transform:translateX(-50%) translateY(0);}
.tm-tooltip--bottom:hover .tm-tooltip__content,.tm-tooltip--bottom .tm-tooltip__trigger:focus-within~.tm-tooltip__content{transform:translateX(-50%) translateY(0);}
.tm-tooltip--left:hover .tm-tooltip__content,.tm-tooltip--left .tm-tooltip__trigger:focus-within~.tm-tooltip__content{transform:translateY(-50%) translateX(0);}
.tm-tooltip--right:hover .tm-tooltip__content,.tm-tooltip--right .tm-tooltip__trigger:focus-within~.tm-tooltip__content{transform:translateY(-50%) translateX(0);}
[data-theme="dark"] .tm-tooltip__content,.tm-dark .tm-tooltip__content{background-color:var(--tm-color-neutral-200);color:var(--tm-color-neutral-900);}
[data-theme="dark"] .tm-tooltip--top .tm-tooltip__content::after,.tm-dark .tm-tooltip--top .tm-tooltip__content::after{border-top-color:var(--tm-color-neutral-200);}
[data-theme="dark"] .tm-tooltip--bottom .tm-tooltip__content::after,.tm-dark .tm-tooltip--bottom .tm-tooltip__content::after{border-bottom-color:var(--tm-color-neutral-200);}
[data-theme="dark"] .tm-tooltip--left .tm-tooltip__content::after,.tm-dark .tm-tooltip--left .tm-tooltip__content::after{border-left-color:var(--tm-color-neutral-200);}
[data-theme="dark"] .tm-tooltip--right .tm-tooltip__content::after,.tm-dark .tm-tooltip--right .tm-tooltip__content::after{border-right-color:var(--tm-color-neutral-200);}
@media (prefers-reduced-motion:reduce){.tm-tooltip__content{transition:none;}
}
.tm-popover{position:relative;display:inline-flex;}
.tm-popover__trigger{display:inline-flex;cursor:pointer;}
.tm-popover__body{position:absolute;z-index:var(--tm-z-popover,900);min-width:200px;padding:0.75rem 1rem;background-color:var(--tm-color-surface,#fff);border:1px solid var(--tm-color-neutral-200);border-radius:var(--tm-radius-lg);box-shadow:0 8px 24px rgba(0,0,0,0.12);opacity:0;visibility:hidden;transform:scale(0.95);transition:opacity 0.15s ease,transform 0.15s ease,visibility 0.15s;}
.tm-popover__body--open{opacity:1;visibility:visible;transform:scale(1);}
.tm-popover__arrow{position:absolute;width:10px;height:10px;background-color:var(--tm-color-surface,#fff);border:1px solid var(--tm-color-neutral-200);transform:rotate(45deg);}
.tm-popover--bottom .tm-popover__body{top:calc(100%+8px);left:50%;transform:translateX(-50%) scale(0.95);}
.tm-popover--bottom .tm-popover__body--open{transform:translateX(-50%) scale(1);}
.tm-popover--bottom .tm-popover__arrow{top:-6px;left:50%;margin-left:-5px;border-right:none;border-bottom:none;}
.tm-popover--top .tm-popover__body{bottom:calc(100%+8px);left:50%;transform:translateX(-50%) scale(0.95);}
.tm-popover--top .tm-popover__body--open{transform:translateX(-50%) scale(1);}
.tm-popover--top .tm-popover__arrow{bottom:-6px;left:50%;margin-left:-5px;border-left:none;border-top:none;}
.tm-popover--left .tm-popover__body{right:calc(100%+8px);top:50%;transform:translateY(-50%) scale(0.95);}
.tm-popover--left .tm-popover__body--open{transform:translateY(-50%) scale(1);}
.tm-popover--left .tm-popover__arrow{right:-6px;top:50%;margin-top:-5px;border-left:none;border-bottom:none;}
.tm-popover--right .tm-popover__body{left:calc(100%+8px);top:50%;transform:translateY(-50%) scale(0.95);}
.tm-popover--right .tm-popover__body--open{transform:translateY(-50%) scale(1);}
.tm-popover--right .tm-popover__arrow{left:-6px;top:50%;margin-top:-5px;border-right:none;border-top:none;}
[data-theme="dark"] .tm-popover__body,.tm-dark .tm-popover__body{background-color:var(--tm-color-neutral-800);border-color:var(--tm-color-neutral-700);box-shadow:0 8px 24px rgba(0,0,0,0.4);}
[data-theme="dark"] .tm-popover__arrow,.tm-dark .tm-popover__arrow{background-color:var(--tm-color-neutral-800);border-color:var(--tm-color-neutral-700);}
@media (prefers-reduced-motion:reduce){.tm-popover__body{transition:none;}
}
.tm-file-drop-zone{display:flex;flex-direction:column;gap:var(--tm-spacing-3,0.75rem);}
.tm-file-drop-zone__area{position:relative;display:flex;align-items:center;justify-content:center;min-height:150px;padding:var(--tm-spacing-6,1.5rem);border:2px dashed var(--tm-color-neutral-300,#d1d5db);border-radius:var(--tm-radius-lg,0.75rem);background-color:var(--tm-color-neutral-50,#f9fafb);cursor:pointer;transition:border-color 0.2s ease,background-color 0.2s ease;}
.tm-file-drop-zone__area:hover{border-color:var(--tm-color-primary-400,#60a5fa);background-color:rgba(59,130,246,0.04);}
.tm-file-drop-zone__area--drag-over{border-color:var(--tm-color-primary-500,#3b82f6);background-color:rgba(59,130,246,0.08);border-style:solid;}
.tm-file-drop-zone__input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:10;}
.tm-file-drop-zone__content{display:flex;flex-direction:column;align-items:center;gap:var(--tm-spacing-1,0.25rem);text-align:center;pointer-events:none;}
.tm-file-drop-zone__icon{font-size:2rem;line-height:1;margin-bottom:var(--tm-spacing-2,0.5rem);}
.tm-file-drop-zone__hint{font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-color-neutral-600,#4b5563);font-weight:500;}
.tm-file-drop-zone__or{font-size:0.75rem;color:var(--tm-color-neutral-400,#9ca3af);}
.tm-file-drop-zone__browse{font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-color-primary-500,#3b82f6);font-weight:500;text-decoration:underline;}
.tm-file-drop-zone--disabled{opacity:0.5;pointer-events:none;}
.tm-file-drop-zone--disabled .tm-file-drop-zone__area{cursor:not-allowed;}
.tm-file-drop-zone__file-list{display:flex;flex-direction:column;gap:var(--tm-spacing-2,0.5rem);}
.tm-file-drop-zone__file-item{display:flex;align-items:center;justify-content:space-between;padding:var(--tm-spacing-2,0.5rem) var(--tm-spacing-3,0.75rem);background-color:white;border:1px solid var(--tm-color-neutral-200,#e5e7eb);border-radius:var(--tm-radius-md,0.5rem);}
.tm-file-drop-zone__file-info{display:flex;align-items:center;gap:var(--tm-spacing-3,0.75rem);min-width:0;}
.tm-file-drop-zone__file-icon{font-size:1.25rem;flex-shrink:0;}
.tm-file-drop-zone__file-details{display:flex;flex-direction:column;min-width:0;}
.tm-file-drop-zone__file-name{font-size:var(--tm-font-size-sm,0.875rem);font-weight:500;color:var(--tm-color-neutral-700,#374151);word-break:break-all;}
.tm-file-drop-zone__file-size{font-size:0.75rem;color:var(--tm-color-neutral-400,#9ca3af);}
.tm-file-drop-zone__file-remove{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--tm-radius-sm,0.25rem);color:var(--tm-color-neutral-400,#9ca3af);font-size:1.25rem;cursor:pointer;transition:color 0.15s ease,background-color 0.15s ease;}
.tm-file-drop-zone__file-remove:hover{color:var(--tm-color-danger-600,#dc2626);background-color:#fef2f2;}
[data-theme="dark"] .tm-file-drop-zone__area,.tm-dark .tm-file-drop-zone__area{background-color:var(--tm-color-neutral-800,#1f2937);border-color:var(--tm-color-neutral-600,#4b5563);}
[data-theme="dark"] .tm-file-drop-zone__area:hover,.tm-dark .tm-file-drop-zone__area:hover{border-color:var(--tm-color-primary-400,#60a5fa);background-color:rgba(59,130,246,0.08);}
[data-theme="dark"] .tm-file-drop-zone__area--drag-over,.tm-dark .tm-file-drop-zone__area--drag-over{border-color:var(--tm-color-primary-500,#3b82f6);background-color:rgba(59,130,246,0.12);}
[data-theme="dark"] .tm-file-drop-zone__hint,.tm-dark .tm-file-drop-zone__hint{color:var(--tm-color-neutral-300,#d1d5db);}
[data-theme="dark"] .tm-file-drop-zone__file-item,.tm-dark .tm-file-drop-zone__file-item{background-color:var(--tm-color-neutral-800,#1f2937);border-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-file-drop-zone__file-name,.tm-dark .tm-file-drop-zone__file-name{color:var(--tm-color-neutral-200,#e5e7eb);}
[data-theme="dark"] .tm-file-drop-zone__file-remove:hover,.tm-dark .tm-file-drop-zone__file-remove:hover{background-color:rgba(220,38,38,0.15);}
.tm-attachment-manager{display:flex;flex-direction:column;gap:var(--tm-space-3);}
.tm-attachment-list{display:flex;flex-direction:column;gap:var(--tm-space-2);}
.tm-attachment-item{display:flex;align-items:center;gap:var(--tm-space-3);padding:var(--tm-space-2) var(--tm-space-3);background:var(--tm-bg-muted);border-radius:var(--tm-radius-md);}
.tm-attachment-icon{font-size:var(--tm-font-size-xl);flex-shrink:0;}
.tm-attachment-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:0.125rem;}
.tm-attachment-name{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tm-attachment-meta{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);}
.tm-attachment-actions{display:flex;gap:var(--tm-space-1);flex-shrink:0;}
.tm-attachment-download,.tm-attachment-delete{background:none;border:none;cursor:pointer;padding:var(--tm-space-1);border-radius:var(--tm-radius-sm);color:var(--tm-text-secondary);font-size:var(--tm-font-size-base);transition:background var(--tm-transition-fast),color var(--tm-transition-fast);}
.tm-attachment-download:hover{background:var(--tm-bg-surface);color:var(--tm-color-primary);}
.tm-attachment-delete:hover{background:var(--tm-color-danger-subtle);color:var(--tm-color-danger);}
.tm-attachment-upload-progress{padding:var(--tm-space-2) var(--tm-space-3);background:var(--tm-color-primary-subtle);border-radius:var(--tm-radius-md);font-size:var(--tm-font-size-sm);color:var(--tm-color-primary);}
.tm-image-gallery{display:flex;flex-direction:column;gap:var(--tm-space-4);}
.tm-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:var(--tm-space-3);}
.tm-gallery-item{position:relative;cursor:pointer;border-radius:var(--tm-radius-md);overflow:hidden;border:1px solid var(--tm-border-color);transition:box-shadow var(--tm-transition-fast),transform var(--tm-transition-fast);}
.tm-gallery-item:hover{box-shadow:var(--tm-shadow-md);transform:translateY(-2px);}
.tm-gallery-item-img{width:100%;aspect-ratio:1;object-fit:cover;display:block;}
.tm-gallery-item-title{padding:var(--tm-space-1) var(--tm-space-2);font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);background:var(--tm-bg-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tm-lightbox-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,0.9);z-index:var(--tm-z-overlay);display:flex;align-items:center;justify-content:center;outline:none;animation:tm-fade-in var(--tm-transition-fast);}
.tm-lightbox-container{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;}
.tm-lightbox-close{position:absolute;top:-3rem;right:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;color:var(--tm-color-white);background:none;border:none;border-radius:var(--tm-radius-md);cursor:pointer;transition:background-color var(--tm-transition-fast);font-size:1.5rem;}
.tm-lightbox-close:hover{background-color:rgba(255,255,255,0.15);}
.tm-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;color:var(--tm-color-white);background:rgba(255,255,255,0.1);border:none;border-radius:50%;cursor:pointer;font-size:2rem;z-index:2;transition:background-color var(--tm-transition-fast);}
.tm-lightbox-nav:hover:not(:disabled){background:rgba(255,255,255,0.3);}
.tm-lightbox-nav:disabled{opacity:0.2;cursor:not-allowed;}
.tm-lightbox-prev{left:-4rem;}
.tm-lightbox-next{right:-4rem;}
.tm-lightbox-image-wrapper{position:relative;max-width:100%;max-height:90vh;display:flex;align-items:center;justify-content:center;min-width:12rem;min-height:12rem;}
.tm-lightbox-image{max-width:100%;max-height:90vh;object-fit:contain;border-radius:var(--tm-radius-md);box-shadow:0 0 40px rgba(0,0,0,0.5);}
.tm-lightbox-counter{position:absolute;bottom:-2.5rem;left:50%;transform:translateX(-50%);color:var(--tm-color-white);font-size:var(--tm-font-size-sm);background:rgba(255,255,255,0.15);padding:var(--tm-space-1) var(--tm-space-4);border-radius:var(--tm-radius-full);backdrop-filter:blur(4px);white-space:nowrap;}
.tm-lightbox-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--tm-space-2);color:var(--tm-color-gray-400);font-size:var(--tm-font-size-sm);width:16rem;height:12rem;}
@media (max-width:768px){.tm-lightbox-prev{left:0.5rem;background:rgba(0,0,0,0.4);}
.tm-lightbox-next{right:0.5rem;background:rgba(0,0,0,0.4);}
.tm-lightbox-close{top:0.5rem;right:0.5rem;}
.tm-lightbox-counter{bottom:0.5rem;}
}
.tm-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;outline:none;}
.tm-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.85);}
.tm-lightbox-content{position:relative;z-index:1;display:flex;align-items:center;gap:var(--tm-space-2);max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);}
.tm-lightbox-image-wrap{flex:1;display:flex;align-items:center;justify-content:center;}
.tm-lightbox-img{max-width:80vw;max-height:85vh;object-fit:contain;border-radius:var(--tm-radius-md);}
.tm-lightbox-close,.tm-lightbox-prev,.tm-lightbox-next,.tm-lightbox-delete{background:rgba(0,0,0,0.5);border:none;border-radius:50%;color:white;cursor:pointer;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;transition:background var(--tm-transition-fast);flex-shrink:0;}
.tm-lightbox-close,.tm-lightbox-delete{position:absolute;}
.tm-lightbox-close{top:-3rem;right:0;}
.tm-lightbox-delete{top:-3rem;right:3rem;}
.tm-lightbox-close:hover,.tm-lightbox-prev:hover,.tm-lightbox-next:hover{background:rgba(0,0,0,0.8);}
.tm-lightbox-delete:hover{background:var(--tm-color-danger);}
.tm-lightbox-prev:disabled,.tm-lightbox-next:disabled{opacity:0.3;cursor:not-allowed;}
.tm-lightbox-footer{position:absolute;bottom:-2.5rem;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:var(--tm-space-2);}
.tm-lightbox-counter{color:rgba(255,255,255,0.8);font-size:var(--tm-font-size-sm);}
.tm-lightbox-loading{color:rgba(255,255,255,0.7);font-size:var(--tm-font-size-sm);}
.tm-activity-log{display:flex;flex-direction:column;gap:0;background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);overflow:hidden;}
.tm-activity-tabs{display:flex;gap:0;border-bottom:1px solid var(--tm-border-color);background:var(--tm-color-gray-50);}
.tm-activity-tab{display:inline-flex;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-3) var(--tm-space-4);font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--tm-transition-fast),border-color var(--tm-transition-fast);white-space:nowrap;}
.tm-activity-tab:hover{color:var(--tm-text-primary);}
.tm-activity-tab-active{color:var(--tm-color-primary);border-bottom-color:var(--tm-color-primary);}
.tm-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--tm-space-1);font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-semibold);color:var(--tm-color-white);background:var(--tm-color-primary);border-radius:999px;line-height:1;}
.tm-activity-content{padding:var(--tm-space-4);}
.tm-timeline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;}
.tm-timeline-item{display:grid;grid-template-columns:20px 32px 1fr;grid-template-rows:auto 1fr;column-gap:var(--tm-space-3);position:relative;padding-bottom:var(--tm-space-5);}
.tm-timeline-item:last-child{padding-bottom:0;}
.tm-timeline-connector{grid-column:1;grid-row:1 / 3;width:2px;background:var(--tm-border-color);margin:22px auto 0;min-height:100%;}
.tm-timeline-item:last-child .tm-timeline-connector{display:none;}
.tm-timeline-item{--tm-timeline-dot-color:var(--tm-color-secondary);}
.tm-timeline-item.tm-timeline-comment{--tm-timeline-dot-color:var(--tm-color-primary);}
.tm-timeline-item.tm-timeline-status_change{--tm-timeline-dot-color:var(--tm-color-success);}
.tm-timeline-item.tm-timeline-assignment{--tm-timeline-dot-color:var(--tm-color-warning);}
.tm-timeline-item.tm-timeline-attachment{--tm-timeline-dot-color:var(--tm-color-info);}
.tm-timeline-avatar{grid-column:2;grid-row:1;position:relative;}
.tm-timeline-avatar::before{content:'';position:absolute;top:-4px;left:-4px;width:8px;height:8px;border-radius:50%;background:var(--tm-timeline-dot-color);border:2px solid var(--tm-bg-surface);z-index:1;}
.tm-timeline-body{grid-column:3;grid-row:1 / 3;}
.tm-timeline-meta{display:flex;align-items:baseline;gap:var(--tm-space-2);margin-bottom:var(--tm-space-1);}
.tm-timeline-author{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);}
.tm-timeline-time{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);}
.tm-timeline-content{font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);line-height:var(--tm-line-height-relaxed);}
.tm-timeline-content p{margin:0 0 var(--tm-space-2);}
.tm-timeline-content p:last-child{margin-bottom:0;}
.tm-timeline-loading{display:flex;align-items:center;gap:var(--tm-space-2);color:var(--tm-text-secondary);font-size:var(--tm-font-size-sm);padding:var(--tm-space-4) 0;}
.tm-timeline-empty{padding:var(--tm-space-4) 0;}
.tm-comments{display:flex;flex-direction:column;gap:var(--tm-space-4);}
.tm-comments-empty{padding:var(--tm-space-4) 0;}
.tm-comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--tm-space-4);}
.tm-comment-item{display:grid;grid-template-columns:32px 1fr;column-gap:var(--tm-space-3);}
.tm-comment-avatar{grid-column:1;}
.tm-comment-body{grid-column:2;}
.tm-comment-meta{display:flex;align-items:baseline;gap:var(--tm-space-2);margin-bottom:var(--tm-space-1);}
.tm-comment-author{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);}
.tm-comment-time{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);}
.tm-comment-edited{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);font-style:italic;}
.tm-comment-content{font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);line-height:var(--tm-line-height-relaxed);}
.tm-comment-content p{margin:0 0 var(--tm-space-2);}
.tm-comment-content p:last-child{margin-bottom:0;}
.tm-comment-actions{display:flex;gap:var(--tm-space-3);margin-top:var(--tm-space-1);}
.tm-comment-editor{display:flex;flex-direction:column;gap:var(--tm-space-2);margin-top:var(--tm-space-2);}
.tm-comment-editor-actions{display:flex;align-items:center;gap:var(--tm-space-2);}
.tm-comments-add-btn{align-self:flex-start;}
.tm-attachments{display:flex;flex-direction:column;gap:var(--tm-space-4);}
.tm-attach-empty{padding:var(--tm-space-4) 0;}
.tm-attach-error{padding:var(--tm-space-2) var(--tm-space-3);background:var(--tm-color-danger-subtle);color:var(--tm-color-danger-text);border:1px solid var(--tm-color-danger);border-radius:var(--tm-radius-md);font-size:var(--tm-font-size-sm);}
.tm-attach-progress{position:relative;height:24px;background:var(--tm-color-gray-100);border-radius:var(--tm-radius-full);overflow:hidden;}
.tm-attach-progress-bar{position:absolute;inset:0 auto 0 0;background:var(--tm-color-primary);transition:width 0.2s ease;}
.tm-attach-progress-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--tm-font-size-xs);color:var(--tm-text-primary);font-weight:var(--tm-font-weight-medium);}
.tm-attach-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--tm-space-2);}
.tm-attach-item{display:flex;align-items:center;gap:var(--tm-space-3);padding:var(--tm-space-3);background:var(--tm-color-gray-50);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);}
.tm-attach-icon{flex-shrink:0;width:32px;height:32px;border-radius:var(--tm-radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-bold);color:var(--tm-color-white);background:var(--tm-color-secondary);}
.tm-attach-icon::after{content:attr(class);font-size:0;}
.tm-attach-icon-image{background:var(--tm-color-info);}
.tm-attach-icon-pdf{background:var(--tm-color-danger);}
.tm-attach-icon-video{background:var(--tm-color-warning);}
.tm-attach-icon-word{background:#2b579a;}
.tm-attach-icon-excel{background:#217346;}
.tm-attach-icon-archive{background:var(--tm-color-warning);}
.tm-attach-icon-file{background:var(--tm-color-secondary);}
.tm-attach-icon-image::before{content:'IMG';font-size:9px;}
.tm-attach-icon-pdf::before{content:'PDF';font-size:9px;}
.tm-attach-icon-video::before{content:'VID';font-size:9px;}
.tm-attach-icon-word::before{content:'DOC';font-size:9px;}
.tm-attach-icon-excel::before{content:'XLS';font-size:9px;}
.tm-attach-icon-archive::before{content:'ZIP';font-size:9px;}
.tm-attach-icon-file::before{content:'FILE';font-size:8px;}
.tm-attach-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.tm-attach-name{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tm-attach-size,.tm-attach-uploader{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);}
.tm-attach-actions{display:flex;align-items:center;gap:var(--tm-space-2);flex-shrink:0;}
.tm-attach-upload-zone{border:2px dashed var(--tm-border-color);border-radius:var(--tm-radius-lg);transition:border-color var(--tm-transition-fast),background var(--tm-transition-fast);}
.tm-attach-upload-zone:hover{border-color:var(--tm-color-primary);background:var(--tm-color-primary-subtle);}
.tm-attach-upload-label{display:flex;align-items:center;justify-content:center;gap:var(--tm-space-1);padding:var(--tm-space-5) var(--tm-space-4);cursor:pointer;font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);}
.tm-attach-browse-link{color:var(--tm-color-primary);text-decoration:underline;cursor:pointer;}
.tm-attach-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.tm-rte-wrapper{display:flex;flex-direction:column;border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);overflow:hidden;background:var(--tm-bg-surface);box-shadow:var(--tm-shadow-sm);transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-rte-wrapper:focus-within{border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-rte-toolbar{display:flex;align-items:center;gap:var(--tm-space-1);padding:var(--tm-space-2) var(--tm-space-3);background:var(--tm-bg-muted);border-bottom:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md) var(--tm-radius-md) 0 0;}
.tm-rte-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-sm);background:var(--tm-bg-surface);cursor:pointer;font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-secondary);transition:background var(--tm-transition-fast),color var(--tm-transition-fast),border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-rte-btn:hover{background:var(--tm-bg-surface);color:var(--tm-color-primary);border-color:var(--tm-color-primary);}
.tm-rte-btn[aria-pressed="true"]{background:var(--tm-color-primary);color:var(--tm-color-white);border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-sm);}
.tm-rte-separator{width:1px;height:24px;background:var(--tm-border-color);margin:0 var(--tm-space-2);}
.tm-rte-editor-container{position:relative;flex:1;}
.tm-rte-editor{min-height:80px;padding:var(--tm-space-3);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);line-height:var(--tm-line-height-relaxed);outline:none;overflow-y:auto;}
.tm-rte-editor:empty{min-height:80px;}
.tm-rte-editor strong{font-weight:var(--tm-font-weight-bold);}
.tm-rte-editor em{font-style:italic;}
.tm-rte-editor u{text-decoration:underline;}
.tm-rte-editor ul{list-style-type:disc;padding-left:var(--tm-space-5);margin:var(--tm-space-2) 0;}
.tm-rte-editor ol{list-style-type:decimal;padding-left:var(--tm-space-5);margin:var(--tm-space-2) 0;}
.tm-rte-editor li{margin:var(--tm-space-1) 0;}
.tm-rte-placeholder{position:absolute;top:var(--tm-space-3);left:var(--tm-space-3);font-size:var(--tm-font-size-sm);color:var(--tm-text-tertiary);pointer-events:none;user-select:none;line-height:var(--tm-line-height-relaxed);}
.tm-rte-mention-dropdown{position:absolute;z-index:var(--tm-z-dropdown);min-width:200px;background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-lg);padding:var(--tm-space-1) 0;max-height:200px;overflow-y:auto;}
.tm-rte-mention-item{display:flex;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-2) var(--tm-space-3);cursor:pointer;font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);transition:background var(--tm-transition-fast);}
.tm-rte-mention-item:hover{background:var(--tm-color-gray-100);}
.tm-rte-mention-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.tm-rte-mention-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tm-rte-toolbar{display:flex;align-items:center;gap:var(--tm-space-1);padding:var(--tm-space-2) var(--tm-space-3);background:var(--tm-bg-muted);border-bottom:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md) var(--tm-radius-md) 0 0;flex-wrap:wrap;}
.tm-rte-toolbar-simple{}
.tm-rte-toolbar-full{}
.tm-rte-toolbar .tm-rte-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-sm);background:var(--tm-bg-surface);cursor:pointer;font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-secondary);transition:background var(--tm-transition-fast),color var(--tm-transition-fast),border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-rte-toolbar .tm-rte-btn:hover:not(:disabled){background:var(--tm-bg-surface);color:var(--tm-color-primary);border-color:var(--tm-color-primary);}
.tm-rte-toolbar .tm-rte-btn:active:not(:disabled){transform:translateY(1px);}
.tm-rte-toolbar .tm-rte-btn[aria-pressed="true"]{background:var(--tm-color-primary);color:var(--tm-color-white);border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-sm);}
.tm-rte-toolbar .tm-rte-btn:disabled{opacity:0.5;cursor:not-allowed;}
.tm-rte-toolbar .tm-rte-btn strong{font-weight:var(--tm-font-weight-bold);}
.tm-rte-toolbar .tm-rte-btn em{font-style:italic;}
.tm-rte-toolbar .tm-rte-btn u{text-decoration:underline;}
.tm-rte-toolbar-separator{width:1px;height:24px;background:var(--tm-border-color);margin:0 var(--tm-space-1);}
.tm-rte-toolbar .tm-rte-btn.tm-rte-btn-code{font-family:var(--tm-font-mono,monospace);font-size:var(--tm-font-size-xs);}
.tm-rte-toolbar .tm-rte-clear-format{text-decoration:line-through;opacity:0.7;}
.tm-rte-color-wrapper{position:relative;display:inline-block;}
.tm-rte-color-btn,.tm-rte-highlight-btn{position:relative;}
.tm-rte-color-btn span,.tm-rte-highlight-btn span{font-weight:var(--tm-font-weight-bold);}
.tm-rte-color-picker{position:absolute;top:100%;left:0;z-index:var(--tm-z-dropdown,1000);display:grid;grid-template-columns:repeat(10,1fr);gap:4px;padding:var(--tm-space-2);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);box-shadow:var(--tm-shadow-lg);margin-top:var(--tm-space-1);min-width:220px;}
.tm-rte-color-option{width:20px;height:20px;border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-sm);cursor:pointer;transition:transform var(--tm-transition-fast),border-color var(--tm-transition-fast);}
.tm-rte-color-option:hover{transform:scale(1.1);border-color:var(--tm-color-primary);}
.tm-rte-emoji-wrapper{position:relative;display:inline-block;}
.tm-rte-emoji-picker{position:absolute;top:100%;right:0;z-index:var(--tm-z-dropdown,1000);display:grid;grid-template-columns:repeat(10,1fr);gap:4px;padding:var(--tm-space-2);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);box-shadow:var(--tm-shadow-lg);margin-top:var(--tm-space-1);max-height:200px;overflow-y:auto;min-width:280px;}
.tm-rte-emoji-option{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--tm-radius-sm);cursor:pointer;font-size:1.25rem;transition:background var(--tm-transition-fast),transform var(--tm-transition-fast);}
.tm-rte-emoji-option:hover{background:var(--tm-bg-muted);transform:scale(1.1);}
.tm-rte-toolbar-full{padding:var(--tm-space-2);}
.tm-rte-toolbar-full .tm-rte-btn{width:28px;height:28px;font-size:var(--tm-font-size-xs);}
.tm-rte-toolbar .tm-rte-btn.tm-rte-btn-token{font-family:var(--tm-font-mono,monospace);font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-bold);color:var(--tm-color-warning-600,#d97706);letter-spacing:-0.5px;}
.tm-rte-toolbar .tm-rte-btn.tm-rte-btn-token:hover:not(:disabled){color:var(--tm-color-warning-700,#b45309);border-color:var(--tm-color-warning-500,#f59e0b);}
.tm-rich-editor-simple{position:relative;display:flex;flex-direction:column;border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);overflow:visible;background:var(--tm-bg-surface);transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-rich-editor-simple.tm-rte-focused{border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-rich-editor-simple.tm-rte-disabled{opacity:0.6;cursor:not-allowed;}
.tm-rich-editor-simple .tm-rte-editor-content-wrapper{position:relative;flex:1;min-height:80px;}
.tm-rich-editor-simple .tm-rte-editor-content{min-height:80px;padding:var(--tm-space-3);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);line-height:var(--tm-line-height-relaxed);outline:none;overflow-y:auto;}
.tm-rich-editor-simple .tm-rte-editor-content:empty::before{content:attr(data-placeholder);color:var(--tm-text-tertiary);pointer-events:none;}
.tm-rich-editor-simple.tm-rte-disabled .tm-rte-editor-content{background:var(--tm-bg-muted);}
.tm-rich-editor-simple .tm-rte-placeholder{position:absolute;top:var(--tm-space-3);left:var(--tm-space-3);font-size:var(--tm-font-size-sm);color:var(--tm-text-tertiary);pointer-events:none;user-select:none;line-height:var(--tm-line-height-relaxed);}
.tm-rich-editor-simple .tm-rte-footer{display:flex;justify-content:flex-end;padding:var(--tm-space-2) var(--tm-space-3);background:var(--tm-bg-muted);border-top:1px solid var(--tm-border-color);}
.tm-rich-editor-simple .tm-rte-char-count{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);}
.tm-rich-editor-simple .tm-rte-char-count-over{color:var(--tm-color-danger);font-weight:var(--tm-font-weight-medium);}
.tm-rich-editor-simple .tm-rte-editor-content strong,.tm-rich-editor-simple .tm-rte-editor-content b{font-weight:var(--tm-font-weight-bold);}
.tm-rich-editor-simple .tm-rte-editor-content em,.tm-rich-editor-simple .tm-rte-editor-content i{font-style:italic;}
.tm-rich-editor-simple .tm-rte-editor-content u{text-decoration:underline;}
.tm-rich-editor-simple .tm-rte-editor-content a{color:var(--tm-color-primary);text-decoration:underline;}
.tm-rich-editor-simple .tm-rte-editor-content a:hover{color:var(--tm-color-primary-hover);}
.tm-rich-editor-simple .tm-rte-editor-content ul{list-style-type:disc;padding-left:var(--tm-space-5);margin:var(--tm-space-2) 0;}
.tm-rich-editor-simple .tm-rte-editor-content ol{list-style-type:decimal;padding-left:var(--tm-space-5);margin:var(--tm-space-2) 0;}
.tm-rich-editor-simple .tm-rte-editor-content li{margin:var(--tm-space-1) 0;}
.tm-rich-editor-simple .tm-rte-editor-content .tm-task-item{list-style-type:none;position:relative;}
.tm-rich-editor-simple .tm-rte-editor-content .tm-task-checkbox{cursor:pointer;user-select:none;margin-right:var(--tm-space-1);font-size:1.1em;}
.tm-rich-editor-simple .tm-rte-editor-content .tm-task-checked{opacity:0.6;}
.tm-rich-editor-simple .tm-rte-editor-content .tm-mention{display:inline-flex;align-items:center;gap:var(--tm-space-1);padding:2px 6px;background:var(--tm-color-primary-100);color:var(--tm-color-primary-700);border-radius:var(--tm-radius-sm);font-weight:var(--tm-font-weight-medium);font-size:0.95em;}
.dark .tm-rich-editor-simple .tm-rte-editor-content .tm-mention{background:var(--tm-color-primary-900);color:var(--tm-color-primary-300);}
.tm-rich-editor-simple .tm-rte-editor-content .tm-token{display:inline-flex;align-items:center;padding:2px 6px;background:var(--tm-color-warning-100,#fef3c7);color:var(--tm-color-warning-700,#b45309);border-radius:var(--tm-radius-sm);font-family:var(--tm-font-mono,monospace);font-size:0.85em;font-weight:var(--tm-font-weight-medium);user-select:all;cursor:default;vertical-align:baseline;border:1px solid var(--tm-color-warning-200,#fde68a);}
.dark .tm-rich-editor-simple .tm-rte-editor-content .tm-token{background:var(--tm-color-warning-900,#78350f);color:var(--tm-color-warning-300,#fcd34d);border-color:var(--tm-color-warning-800,#92400e);}
.tm-rich-editor-simple .tm-rte-editor-content ul ul,.tm-rich-editor-simple .tm-rte-editor-content ol ol,.tm-rich-editor-simple .tm-rte-editor-content ul ol,.tm-rich-editor-simple .tm-rte-editor-content ol ul{margin:var(--tm-space-1) 0;}
.tm-rich-editor-full{display:flex;flex-direction:column;border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);overflow:hidden;background:var(--tm-bg-surface);min-height:200px;transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-rich-editor-full:focus-within{border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-rich-editor-full.tm-rte-disabled{opacity:0.6;cursor:not-allowed;}
.tm-rich-editor-full .tm-rte-editor-content-wrapper{position:relative;flex:1;display:flex;flex-direction:column;min-height:150px;}
.tm-rich-editor-full .tm-rte-editor-content{flex:1;padding:var(--tm-space-3);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);line-height:var(--tm-line-height-relaxed);outline:none;overflow-y:auto;}
.tm-rich-editor-full .tm-rte-editor-content:empty::before{content:attr(data-placeholder);color:var(--tm-text-tertiary);pointer-events:none;}
.tm-rich-editor-full.tm-rte-disabled .tm-rte-editor-content{background:var(--tm-bg-muted);}
.tm-rich-editor-full .tm-rte-placeholder{position:absolute;top:var(--tm-space-3);left:var(--tm-space-3);font-size:var(--tm-font-size-sm);color:var(--tm-text-tertiary);pointer-events:none;user-select:none;line-height:var(--tm-line-height-relaxed);}
.tm-rich-editor-full .tm-rte-footer{display:flex;justify-content:flex-end;padding:var(--tm-space-2) var(--tm-space-3);background:var(--tm-bg-muted);border-top:1px solid var(--tm-border-color);}
.tm-rich-editor-full .tm-rte-char-count{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);}
.tm-rich-editor-full .tm-rte-char-count-over{color:var(--tm-color-danger);font-weight:var(--tm-font-weight-medium);}
.tm-rich-editor-full .tm-rte-editor-content h1,.tm-rich-editor-full .tm-rte-editor-content h2{font-weight:var(--tm-font-weight-bold);margin:var(--tm-space-3) 0 var(--tm-space-2);color:var(--tm-text-primary);}
.tm-rich-editor-full .tm-rte-editor-content h1{font-size:var(--tm-font-size-2xl);}
.tm-rich-editor-full .tm-rte-editor-content h2{font-size:var(--tm-font-size-xl);}
.tm-rich-editor-full .tm-rte-editor-content strong,.tm-rich-editor-full .tm-rte-editor-content b{font-weight:var(--tm-font-weight-bold);}
.tm-rich-editor-full .tm-rte-editor-content em,.tm-rich-editor-full .tm-rte-editor-content i{font-style:italic;}
.tm-rich-editor-full .tm-rte-editor-content u{text-decoration:underline;}
.tm-rich-editor-full .tm-rte-editor-content a{color:var(--tm-color-primary);text-decoration:underline;}
.tm-rich-editor-full .tm-rte-editor-content a:hover{color:var(--tm-color-primary-hover);}
.tm-rich-editor-full .tm-rte-editor-content ul{list-style-type:disc;padding-left:var(--tm-space-5);margin:var(--tm-space-2) 0;}
.tm-rich-editor-full .tm-rte-editor-content ol{list-style-type:decimal;padding-left:var(--tm-space-5);margin:var(--tm-space-2) 0;}
.tm-rich-editor-full .tm-rte-editor-content li{margin:var(--tm-space-1) 0;}
.tm-rich-editor-full .tm-rte-editor-content blockquote{border-left:4px solid var(--tm-border-color);padding-left:var(--tm-space-3);margin:var(--tm-space-3) 0;color:var(--tm-text-secondary);font-style:italic;}
.tm-rich-editor-full .tm-rte-editor-content code{background:var(--tm-bg-muted);color:var(--tm-text-primary);padding:2px 4px;border-radius:var(--tm-radius-sm);font-family:monospace;font-size:var(--tm-font-size-xs);}
.tm-rich-editor-full .tm-rte-editor-content pre{background:var(--tm-bg-muted);color:var(--tm-text-primary);padding:var(--tm-space-3);border-radius:var(--tm-radius-md);overflow-x:auto;font-family:monospace;font-size:var(--tm-font-size-xs);}
.tm-rich-editor-full .tm-rte-editor-content pre code{background:none;padding:0;color:inherit;}
.tm-rich-editor-full .tm-rte-editor-content h3,.tm-rich-editor-full .tm-rte-editor-content h4{font-weight:var(--tm-font-weight-semibold);margin:var(--tm-space-2) 0 var(--tm-space-1);color:var(--tm-text-primary);}
.tm-rich-editor-full .tm-rte-editor-content h3{font-size:var(--tm-font-size-lg);}
.tm-rich-editor-full .tm-rte-editor-content h4{font-size:var(--tm-font-size-base);}
.tm-rich-editor-full .tm-rte-editor-content s,.tm-rich-editor-full .tm-rte-editor-content strike,.tm-rich-editor-full .tm-rte-editor-content del{text-decoration:line-through;opacity:0.7;}
.tm-rich-editor-full .tm-rte-editor-content sub,.tm-rich-editor-full .tm-rte-editor-content sup{font-size:var(--tm-font-size-xs);}
.tm-rich-editor-full .tm-rte-editor-content .tm-task-item{list-style-type:none;position:relative;}
.tm-rich-editor-full .tm-rte-editor-content .tm-task-checkbox{cursor:pointer;user-select:none;margin-right:var(--tm-space-1);font-size:1.1em;}
.tm-rich-editor-full .tm-rte-editor-content .tm-task-checked{opacity:0.6;text-decoration:line-through;}
.tm-rich-editor-full .tm-rte-editor-content .tm-mention{display:inline-flex;align-items:center;gap:var(--tm-space-1);padding:2px 6px;background:var(--tm-color-primary-100);color:var(--tm-color-primary-700);border-radius:var(--tm-radius-sm);font-weight:var(--tm-font-weight-medium);font-size:0.95em;}
.dark .tm-rich-editor-full .tm-rte-editor-content .tm-mention{background:var(--tm-color-primary-900);color:var(--tm-color-primary-300);}
.tm-rich-editor-full .tm-rte-editor-content .tm-token{display:inline-flex;align-items:center;padding:2px 6px;background:var(--tm-color-warning-100,#fef3c7);color:var(--tm-color-warning-700,#b45309);border-radius:var(--tm-radius-sm);font-family:var(--tm-font-mono,monospace);font-size:0.85em;font-weight:var(--tm-font-weight-medium);user-select:all;cursor:default;vertical-align:baseline;border:1px solid var(--tm-color-warning-200,#fde68a);}
.dark .tm-rich-editor-full .tm-rte-editor-content .tm-token{background:var(--tm-color-warning-900,#78350f);color:var(--tm-color-warning-300,#fcd34d);border-color:var(--tm-color-warning-800,#92400e);}
.tm-rich-editor-full .tm-rte-editor-content table{width:100%;border-collapse:collapse;margin:var(--tm-space-3) 0;}
.tm-rich-editor-full .tm-rte-editor-content table td,.tm-rich-editor-full .tm-rte-editor-content table th{border:1px solid var(--tm-border-color);padding:var(--tm-space-2);text-align:left;}
.tm-rich-editor-full .tm-rte-editor-content table th{background:var(--tm-bg-muted);font-weight:var(--tm-font-weight-semibold);}
.tm-rich-editor-full .tm-rte-editor-content img{max-width:100%;height:auto;border-radius:var(--tm-radius-md);}
.tm-rich-editor-full .tm-rte-editor-content .tm-rte-image{display:block;margin:var(--tm-space-3) 0;}
.tm-rich-editor-full .tm-rte-editor-content .tm-rte-video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin:var(--tm-space-3) 0;}
.tm-rich-editor-full .tm-rte-editor-content .tm-rte-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:var(--tm-radius-md);}
.tm-rich-editor-full .tm-rte-editor-content hr{border:none;border-top:1px solid var(--tm-border-color);margin:var(--tm-space-4) 0;}
.tm-rich-editor-full .tm-rte-footer{display:flex;justify-content:space-between;align-items:center;}
.tm-rich-editor-full .tm-rte-word-count{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);}
.tm-rich-editor-full .tm-rte-editor-content ul ul,.tm-rich-editor-full .tm-rte-editor-content ol ol,.tm-rich-editor-full .tm-rte-editor-content ul ol,.tm-rich-editor-full .tm-rte-editor-content ol ul{margin:var(--tm-space-1) 0;}
.tm-rte-link-dialog{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--tm-z-modal);display:flex;align-items:center;justify-content:center;}
.tm-rte-link-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);}
.tm-rte-link-content{position:relative;width:100%;max-width:400px;margin:var(--tm-space-4);background:var(--tm-bg-surface);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-xl);z-index:1;}
.tm-rte-link-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tm-space-4);border-bottom:1px solid var(--tm-border-color);}
.tm-rte-link-header h5{margin:0;font-size:var(--tm-font-size-lg);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);}
.tm-rte-btn-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;cursor:pointer;font-size:var(--tm-font-size-xl);color:var(--tm-text-tertiary);border-radius:var(--tm-radius-md);transition:background var(--tm-transition-fast),color var(--tm-transition-fast);}
.tm-rte-btn-close:hover{background:var(--tm-bg-muted);color:var(--tm-text-primary);}
.tm-rte-link-body{padding:var(--tm-space-4);}
.tm-rte-form-group{margin-bottom:var(--tm-space-4);}
.tm-rte-form-group:last-child{margin-bottom:0;}
.tm-rte-form-group label{display:block;margin-bottom:var(--tm-space-2);font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-secondary);}
.tm-rte-link-url-input,.tm-rte-link-text-input{width:100%;padding:var(--tm-space-2) var(--tm-space-3);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);background:var(--tm-bg-surface);transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-rte-link-url-input:focus,.tm-rte-link-text-input:focus{outline:none;border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-rte-link-error{margin-top:var(--tm-space-2);font-size:var(--tm-font-size-xs);color:var(--tm-color-danger);}
.tm-rte-link-footer{display:flex;justify-content:flex-end;gap:var(--tm-space-3);padding:var(--tm-space-4);border-top:1px solid var(--tm-border-color);}
.tm-rte-image-dialog{position:fixed;inset:0;z-index:var(--tm-z-modal,1050);display:flex;align-items:center;justify-content:center;}
.tm-rte-image-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);}
.tm-rte-image-content{position:relative;width:100%;max-width:400px;background:var(--tm-bg-surface);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-xl);overflow:hidden;}
.tm-rte-image-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tm-space-4);border-bottom:1px solid var(--tm-border-color);}
.tm-rte-image-header h5{font-size:var(--tm-font-size-lg);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);margin:0;}
.tm-rte-image-body{padding:var(--tm-space-4);}
.tm-rte-image-footer{display:flex;justify-content:flex-end;gap:var(--tm-space-2);padding:var(--tm-space-3) var(--tm-space-4);border-top:1px solid var(--tm-border-color);background:var(--tm-bg-muted);}
.tm-rte-form-group{margin-bottom:var(--tm-space-3);}
.tm-rte-form-group label{display:block;font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-secondary);margin-bottom:var(--tm-space-1);}
.tm-rte-image-url-input,.tm-rte-image-alt-input{width:100%;padding:var(--tm-space-2) var(--tm-space-3);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);background:var(--tm-bg-surface);color:var(--tm-text-primary);font-size:var(--tm-font-size-sm);transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-rte-image-url-input:focus,.tm-rte-image-alt-input:focus{outline:none;border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-rte-table-dialog{position:fixed;inset:0;z-index:var(--tm-z-modal,1050);display:flex;align-items:center;justify-content:center;}
.tm-rte-table-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);}
.tm-rte-table-content{position:relative;width:100%;max-width:320px;background:var(--tm-bg-surface);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-xl);overflow:hidden;}
.tm-rte-table-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tm-space-4);border-bottom:1px solid var(--tm-border-color);}
.tm-rte-table-header h5{font-size:var(--tm-font-size-lg);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);margin:0;}
.tm-rte-table-body{padding:var(--tm-space-4);}
.tm-rte-table-footer{display:flex;justify-content:flex-end;gap:var(--tm-space-2);padding:var(--tm-space-3) var(--tm-space-4);border-top:1px solid var(--tm-border-color);background:var(--tm-bg-muted);}
.tm-rte-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--tm-space-3);margin-bottom:var(--tm-space-4);}
.tm-rte-table-rows-input,.tm-rte-table-cols-input{width:100%;padding:var(--tm-space-2) var(--tm-space-3);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);background:var(--tm-bg-surface);color:var(--tm-text-primary);font-size:var(--tm-font-size-sm);}
.tm-rte-table-preview{text-align:center;}
.tm-rte-table-preview label{display:block;font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-secondary);margin-bottom:var(--tm-space-2);}
.tm-rte-table-grid{display:inline-flex;flex-direction:column;gap:2px;padding:var(--tm-space-2);background:var(--tm-bg-muted);border-radius:var(--tm-radius-md);margin-bottom:var(--tm-space-2);}
.tm-rte-table-grid-row{display:flex;gap:2px;}
.tm-rte-table-grid-cell{width:20px;height:20px;background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-xs);cursor:pointer;transition:background var(--tm-transition-fast),border-color var(--tm-transition-fast);}
.tm-rte-table-grid-cell:hover,.tm-rte-table-grid-cell.hovered{background:var(--tm-color-primary-100);border-color:var(--tm-color-primary);}
.tm-rte-table-grid-cell.selected{background:var(--tm-color-primary);border-color:var(--tm-color-primary);}
.tm-rte-table-size-label{font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);font-weight:var(--tm-font-weight-medium);}
.tm-rte-video-dialog{position:fixed;inset:0;z-index:var(--tm-z-modal,1050);display:flex;align-items:center;justify-content:center;}
.tm-rte-video-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);}
.tm-rte-video-content{position:relative;width:100%;max-width:400px;background:var(--tm-bg-surface);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-xl);overflow:hidden;}
.tm-rte-video-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tm-space-4);border-bottom:1px solid var(--tm-border-color);}
.tm-rte-video-header h5{font-size:var(--tm-font-size-lg);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);margin:0;}
.tm-rte-video-body{padding:var(--tm-space-4);}
.tm-rte-video-footer{display:flex;justify-content:flex-end;gap:var(--tm-space-2);padding:var(--tm-space-3) var(--tm-space-4);border-top:1px solid var(--tm-border-color);background:var(--tm-bg-muted);}
.tm-rte-video-url-input,.tm-rte-video-title-input{width:100%;padding:var(--tm-space-2) var(--tm-space-3);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);background:var(--tm-bg-surface);color:var(--tm-text-primary);font-size:var(--tm-font-size-sm);transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-rte-video-url-input:focus,.tm-rte-video-title-input:focus{outline:none;border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-rte-help-text{display:block;font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);margin-top:var(--tm-space-1);}
.tm-rte-findreplace-dialog{position:fixed;inset:0;z-index:var(--tm-z-modal,1050);display:flex;align-items:center;justify-content:center;}
.tm-rte-findreplace-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);}
.tm-rte-findreplace-content{position:relative;width:100%;max-width:400px;background:var(--tm-bg-surface);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-xl);overflow:hidden;}
.tm-rte-findreplace-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tm-space-4);border-bottom:1px solid var(--tm-border-color);}
.tm-rte-findreplace-header h5{font-size:var(--tm-font-size-lg);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);margin:0;}
.tm-rte-findreplace-body{padding:var(--tm-space-4);}
.tm-rte-findreplace-footer{display:flex;justify-content:flex-end;gap:var(--tm-space-2);padding:var(--tm-space-3) var(--tm-space-4);border-top:1px solid var(--tm-border-color);background:var(--tm-bg-muted);}
.tm-rte-findreplace-find-input,.tm-rte-findreplace-replace-input{width:100%;padding:var(--tm-space-2) var(--tm-space-3);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);background:var(--tm-bg-surface);color:var(--tm-text-primary);font-size:var(--tm-font-size-sm);transition:border-color var(--tm-transition-fast),box-shadow var(--tm-transition-fast);}
.tm-rte-findreplace-find-input:focus,.tm-rte-findreplace-replace-input:focus{outline:none;border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-focus);}
.tm-rte-findreplace-result{padding:var(--tm-space-2) var(--tm-space-3);background:var(--tm-color-success-100);color:var(--tm-color-success-700);border-radius:var(--tm-radius-md);font-size:var(--tm-font-size-sm);text-align:center;}
.tm-rte-btn-replaceall{background:var(--tm-color-warning);color:var(--tm-color-white);}
.tm-rte-btn-replaceall:hover:not(:disabled){background:var(--tm-color-warning-hover);}
.tm-rte-mention-dropdown{position:absolute;z-index:var(--tm-z-dropdown);min-width:240px;max-width:320px;max-height:240px;overflow-y:auto;background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-lg);margin-top:var(--tm-space-1);}
.tm-rte-mention-user{display:flex;align-items:center;gap:var(--tm-space-3);padding:var(--tm-space-3);cursor:pointer;transition:background var(--tm-transition-fast);border-bottom:1px solid var(--tm-border-color);}
.tm-rte-mention-user:last-child{border-bottom:none;}
.tm-rte-mention-user:hover,.tm-rte-mention-user.tm-rte-mention-highlighted{background:var(--tm-bg-muted);}
.tm-rte-mention-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.tm-rte-mention-avatar-placeholder{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--tm-color-primary);color:var(--tm-color-white);font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);flex-shrink:0;}
.tm-rte-mention-user-info{flex:1;min-width:0;}
.tm-rte-mention-display-name{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tm-rte-mention-username{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tm-rte-mention-empty{padding:var(--tm-space-4);text-align:center;font-size:var(--tm-font-size-sm);color:var(--tm-text-tertiary);}
.tm-rte-mention-chip{display:inline-flex;align-items:center;gap:var(--tm-space-1);padding:2px var(--tm-space-2);background:var(--tm-color-primary-subtle);color:var(--tm-color-primary);border-radius:var(--tm-radius-full);font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);cursor:default;vertical-align:middle;}
.tm-rte-mention-chip-avatar{width:16px;height:16px;border-radius:50%;object-fit:cover;}
.tm-rte-mention-chip-avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--tm-color-primary);color:var(--tm-color-white);font-size:10px;}
.tm-rte-mention-username{color:var(--tm-color-primary);}
.tm-rte-token-dropdown{position:absolute;z-index:var(--tm-z-dropdown);min-width:260px;max-width:360px;max-height:280px;overflow-y:auto;background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-lg);margin-top:var(--tm-space-1);}
.tm-rte-token-item{display:flex;align-items:center;justify-content:space-between;gap:var(--tm-space-3);padding:var(--tm-space-2) var(--tm-space-3);cursor:pointer;transition:background var(--tm-transition-fast);border-bottom:1px solid var(--tm-border-color);}
.tm-rte-token-item:last-child{border-bottom:none;}
.tm-rte-token-item:hover,.tm-rte-token-item.tm-rte-token-highlighted{background:var(--tm-bg-muted);}
.tm-rte-token-info{flex:1;min-width:0;}
.tm-rte-token-key{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);font-family:var(--tm-font-mono,monospace);color:var(--tm-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tm-rte-token-description{font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;}
.tm-rte-token-category{flex-shrink:0;font-size:var(--tm-font-size-xs);color:var(--tm-text-tertiary);background:var(--tm-bg-muted);padding:1px var(--tm-space-2);border-radius:var(--tm-radius-full);white-space:nowrap;}
.tm-rte-token-section-header{padding:var(--tm-space-1) var(--tm-space-3);font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-tertiary);text-transform:uppercase;letter-spacing:0.05em;border-bottom:1px solid var(--tm-border-color);background:var(--tm-bg-muted);user-select:none;position:sticky;top:0;z-index:1;}
.tm-rte-token-empty{padding:var(--tm-space-4);text-align:center;font-size:var(--tm-font-size-sm);color:var(--tm-text-tertiary);}
.tm-rte-token-separator{height:1px;background:var(--tm-border-color);margin:0;}
.tm-rte-token-create{display:flex;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-2) var(--tm-space-3);cursor:pointer;transition:background var(--tm-transition-fast);color:var(--tm-color-primary);font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);}
.tm-rte-token-create:hover,.tm-rte-token-create.tm-rte-token-highlighted{background:var(--tm-bg-muted);}
.tm-rte-token-create-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--tm-color-primary-subtle);color:var(--tm-color-primary);font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-bold);flex-shrink:0;}
.tm-chart{position:relative;display:flex;flex-direction:column;gap:var(--tm-spacing-2,0.5rem);}
.tm-chart svg{display:block;}
.tm-chart__empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px;color:var(--tm-color-neutral-400,#9ca3af);font-size:var(--tm-font-size-sm,0.875rem);border:2px dashed var(--tm-color-neutral-200,#e5e7eb);border-radius:var(--tm-radius-md,0.5rem);}
.tm-chart__grid-line{stroke:var(--tm-color-neutral-200,#e5e7eb);stroke-width:1;stroke-dasharray:4,4;}
.tm-chart__axis-label{fill:var(--tm-color-neutral-500,#6b7280);font-size:11px;}
.tm-chart__bar{cursor:pointer;transition:opacity 0.15s ease;}
.tm-chart__bar:hover{opacity:0.8;}
.tm-chart__line{fill:none;stroke-width:2;stroke-linejoin:round;}
.tm-chart__point{cursor:pointer;transition:r 0.15s ease;}
.tm-chart__point:hover{r:6;}
.tm-chart__slice{cursor:pointer;transition:opacity 0.15s ease,transform 0.15s ease;transform-origin:center;}
.tm-chart__slice:hover{opacity:0.85;}
.tm-chart__label{fill:var(--tm-color-neutral-500,#6b7280);font-size:12px;user-select:none;pointer-events:none;}
.tm-chart__value{fill:var(--tm-color-neutral-700,#374151);font-size:11px;font-weight:500;user-select:none;pointer-events:none;}
.tm-chart__legend{display:flex;flex-wrap:wrap;gap:var(--tm-spacing-3,0.75rem);justify-content:center;padding:var(--tm-spacing-2,0.5rem) 0;}
.tm-chart__legend-item{display:flex;align-items:center;gap:var(--tm-spacing-1,0.25rem);font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-color-neutral-600,#4b5563);}
.tm-chart__legend-color{display:inline-block;width:12px;height:12px;border-radius:var(--tm-radius-sm,0.25rem);flex-shrink:0;}
.tm-chart__legend-label{white-space:nowrap;}
.tm-chart--animated .tm-chart__bar{animation:tm-chart-bar-grow 0.6s ease-out;transform-origin:bottom;}
.tm-chart--animated .tm-chart__line{stroke-dasharray:2000;stroke-dashoffset:2000;animation:tm-chart-line-draw 1.2s ease-out forwards;}
.tm-chart--animated .tm-chart__point{animation:tm-chart-point-pop 0.4s ease-out;animation-delay:0.6s;animation-fill-mode:both;}
.tm-chart--animated .tm-chart__slice{animation:tm-chart-slice-grow 0.6s ease-out;transform-origin:center;}
@keyframes tm-chart-bar-grow{from{transform:scaleY(0);}
to{transform:scaleY(1);}
}
@keyframes tm-chart-line-draw{to{stroke-dashoffset:0;}
}
@keyframes tm-chart-point-pop{from{r:0;}
to{r:4;}
}
@keyframes tm-chart-slice-grow{from{opacity:0;transform:scale(0.8);}
to{opacity:1;transform:scale(1);}
}
@media (prefers-reduced-motion:reduce){.tm-chart--animated .tm-chart__bar,.tm-chart--animated .tm-chart__line,.tm-chart--animated .tm-chart__point,.tm-chart--animated .tm-chart__slice{animation:none;}
.tm-chart--animated .tm-chart__line{stroke-dasharray:none;stroke-dashoffset:0;}
}
[data-theme="dark"] .tm-chart__empty,.tm-dark .tm-chart__empty{color:var(--tm-color-neutral-500,#6b7280);border-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-chart__grid-line,.tm-dark .tm-chart__grid-line{stroke:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-chart__axis-label,.tm-dark .tm-chart__axis-label,[data-theme="dark"] .tm-chart__label,.tm-dark .tm-chart__label{fill:var(--tm-color-neutral-400,#9ca3af);}
[data-theme="dark"] .tm-chart__value,.tm-dark .tm-chart__value{fill:var(--tm-color-neutral-300,#d1d5db);}
[data-theme="dark"] .tm-chart__legend-item,.tm-dark .tm-chart__legend-item{color:var(--tm-color-neutral-400,#9ca3af);}
.tm-wf-designer{display:flex;gap:var(--tm-spacing-2,0.5rem);width:100%;min-height:400px;}
.tm-wf-canvas{position:relative;flex:1;min-width:0;border:1px solid var(--tm-color-neutral-200,#e5e7eb);border-radius:var(--tm-radius-lg,0.75rem);overflow:hidden;background-color:white;}
.tm-wf-canvas svg{display:block;width:100%;height:100%;min-height:400px;}
.tm-wf-canvas--readonly{pointer-events:none;opacity:0.9;}
.tm-wf-state{cursor:pointer;transition:filter 0.15s ease;}
.tm-wf-state:hover{filter:brightness(0.95);}
.tm-wf-state--selected rect{filter:drop-shadow(0 0 4px rgba(59,130,246,0.4));}
.tm-wf-state__label{pointer-events:none;user-select:none;}
.tm-wf-port{opacity:0;cursor:crosshair;transition:opacity 0.15s ease;}
.tm-wf-state:hover .tm-wf-port{opacity:1;}
.tm-wf-port:hover{opacity:1;r:8;}
.tm-wf-transition{cursor:pointer;}
.tm-wf-transition path{transition:stroke-width 0.15s ease;}
.tm-wf-transition:hover path{stroke-width:3;}
.tm-wf-transition--selected path{stroke-width:3;}
.tm-wf-transition__label{pointer-events:none;user-select:none;}
.tm-wf-temp-line{pointer-events:none;}
.tm-wf-toolbox{flex:0 0 160px;display:flex;flex-direction:column;gap:var(--tm-spacing-2,0.5rem);padding:var(--tm-spacing-3,0.75rem);background-color:var(--tm-color-neutral-50,#f9fafb);border:1px solid var(--tm-color-neutral-200,#e5e7eb);border-radius:var(--tm-radius-lg,0.75rem);}
.tm-wf-toolbox__title{font-size:var(--tm-font-size-sm,0.875rem);font-weight:600;color:var(--tm-color-neutral-700,#374151);margin-bottom:var(--tm-spacing-1,0.25rem);}
.tm-wf-toolbox__section{display:flex;flex-direction:column;gap:var(--tm-spacing-1,0.25rem);}
.tm-wf-toolbox__section-title{font-size:0.75rem;font-weight:500;color:var(--tm-color-neutral-500,#6b7280);text-transform:uppercase;letter-spacing:0.05em;margin-top:var(--tm-spacing-2,0.5rem);}
.tm-wf-toolbox__btn{display:flex;align-items:center;gap:var(--tm-spacing-2,0.5rem);padding:var(--tm-spacing-2,0.5rem);background:white;border:1px solid var(--tm-color-neutral-200,#e5e7eb);border-radius:var(--tm-radius-md,0.5rem);font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-color-neutral-700,#374151);cursor:pointer;transition:background-color 0.15s ease,border-color 0.15s ease;}
.tm-wf-toolbox__btn:hover{background-color:var(--tm-color-neutral-100,#f3f4f6);border-color:var(--tm-color-primary-300,#93c5fd);}
.tm-wf-toolbox__btn:disabled{opacity:0.5;cursor:not-allowed;}
.tm-wf-toolbox__btn--danger{color:var(--tm-color-danger-600,#dc2626);}
.tm-wf-toolbox__btn--danger:hover{background-color:#fef2f2;border-color:var(--tm-color-danger-300,#fca5a5);}
.tm-wf-toolbox__btn-icon{width:20px;height:14px;border-radius:3px;flex-shrink:0;}
.tm-wf-toolbox__btn-icon--initial{background-color:#dbeafe;border:1px solid #93c5fd;border-radius:7px;}
.tm-wf-toolbox__btn-icon--intermediate{background-color:#f3f4f6;border:1px solid #d1d5db;}
.tm-wf-toolbox__btn-icon--final{background-color:#dcfce7;border:2px solid #86efac;}
.tm-wf-toolbox__divider{height:1px;background-color:var(--tm-color-neutral-200,#e5e7eb);margin:var(--tm-spacing-1,0.25rem) 0;}
.tm-wf-properties{flex:0 0 280px;display:flex;flex-direction:column;background-color:var(--tm-color-neutral-50,#f9fafb);border:1px solid var(--tm-color-neutral-200,#e5e7eb);border-radius:var(--tm-radius-lg,0.75rem);overflow:hidden;animation:tm-wf-slide-in 0.2s ease;}
.tm-wf-properties__header{display:flex;align-items:center;justify-content:space-between;padding:var(--tm-spacing-3,0.75rem);border-bottom:1px solid var(--tm-color-neutral-200,#e5e7eb);background-color:white;}
.tm-wf-properties__title{font-size:var(--tm-font-size-sm,0.875rem);font-weight:600;color:var(--tm-color-neutral-700,#374151);}
.tm-wf-properties__close{background:none;border:none;cursor:pointer;color:var(--tm-color-neutral-400,#9ca3af);font-size:1.25rem;line-height:1;padding:2px;}
.tm-wf-properties__close:hover{color:var(--tm-color-neutral-700,#374151);}
.tm-wf-properties__body{flex:1;overflow-y:auto;padding:var(--tm-spacing-3,0.75rem);display:flex;flex-direction:column;gap:var(--tm-spacing-3,0.75rem);}
.tm-wf-properties__field{display:flex;flex-direction:column;gap:var(--tm-spacing-1,0.25rem);}
.tm-wf-properties__label{font-size:0.75rem;font-weight:500;color:var(--tm-color-neutral-500,#6b7280);}
.tm-wf-properties__footer{display:flex;gap:var(--tm-spacing-2,0.5rem);padding:var(--tm-spacing-3,0.75rem);border-top:1px solid var(--tm-color-neutral-200,#e5e7eb);background-color:white;}
.tm-wf-color-swatches{display:flex;gap:6px;flex-wrap:wrap;}
.tm-wf-color-swatch{width:24px;height:24px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:border-color 0.1s ease;}
.tm-wf-color-swatch:hover{border-color:var(--tm-color-neutral-400,#9ca3af);}
.tm-wf-color-swatch--selected{border-color:var(--tm-color-primary-500,#3b82f6);}
.tm-wf-type-group{display:flex;gap:var(--tm-spacing-2,0.5rem);}
.tm-wf-type-option{display:flex;align-items:center;gap:4px;font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-color-neutral-600,#4b5563);cursor:pointer;}
.tm-wf-type-option input{margin:0;}
.tm-wf-zoom-controls{display:flex;align-items:center;gap:var(--tm-spacing-1,0.25rem);margin-top:auto;padding-top:var(--tm-spacing-2,0.5rem);border-top:1px solid var(--tm-color-neutral-200,#e5e7eb);}
.tm-wf-zoom-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:white;border:1px solid var(--tm-color-neutral-200,#e5e7eb);border-radius:var(--tm-radius-sm,0.25rem);cursor:pointer;font-size:0.875rem;color:var(--tm-color-neutral-600,#4b5563);}
.tm-wf-zoom-btn:hover{background-color:var(--tm-color-neutral-100,#f3f4f6);}
.tm-wf-zoom-level{font-size:0.75rem;color:var(--tm-color-neutral-500,#6b7280);min-width:36px;text-align:center;}
.tm-wf-context-menu{position:absolute;z-index:50;min-width:180px;background-color:white;border:1px solid var(--tm-color-neutral-200,#e5e7eb);border-radius:var(--tm-radius-md,0.5rem);box-shadow:0 4px 16px rgba(0,0,0,0.12);padding:4px 0;animation:tm-wf-fade-in 0.1s ease;}
.tm-wf-context-menu__item{display:flex;align-items:center;gap:var(--tm-spacing-2,0.5rem);width:100%;padding:var(--tm-spacing-2,0.5rem) var(--tm-spacing-3,0.75rem);background:none;border:none;font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-color-neutral-700,#374151);cursor:pointer;text-align:left;}
.tm-wf-context-menu__item:hover{background-color:var(--tm-color-neutral-100,#f3f4f6);}
.tm-wf-context-menu__item--danger{color:var(--tm-color-danger-600,#dc2626);}
.tm-wf-context-menu__item--danger:hover{background-color:#fef2f2;}
.tm-wf-context-menu__divider{height:1px;margin:4px 0;background-color:var(--tm-color-neutral-200,#e5e7eb);}
@keyframes tm-wf-fade-in{from{opacity:0;transform:scale(0.95);}
to{opacity:1;transform:scale(1);}
}
.tm-wf-properties__input{width:100%;padding:var(--tm-spacing-2,0.5rem);font-size:var(--tm-font-size-sm,0.875rem);border:1px solid var(--tm-color-neutral-200,#e5e7eb);border-radius:var(--tm-radius-md,0.5rem);background-color:white;color:var(--tm-color-neutral-700,#374151);outline:none;}
.tm-wf-properties__input:focus{border-color:var(--tm-color-primary-400,#60a5fa);box-shadow:0 0 0 2px rgba(59,130,246,0.15);}
.tm-wf-properties__input:disabled{background-color:var(--tm-color-neutral-100,#f3f4f6);cursor:not-allowed;}
.tm-wf-properties__from-to{display:flex;align-items:center;gap:var(--tm-spacing-2,0.5rem);font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-color-neutral-600,#4b5563);padding:var(--tm-spacing-2,0.5rem);background-color:var(--tm-color-neutral-100,#f3f4f6);border-radius:var(--tm-radius-md,0.5rem);}
.tm-wf-properties__arrow{color:var(--tm-color-neutral-400,#9ca3af);}
.tm-wf-properties__save{flex:1;padding:var(--tm-spacing-2,0.5rem) var(--tm-spacing-3,0.75rem);background-color:var(--tm-color-primary-500,#3b82f6);color:white;border:none;border-radius:var(--tm-radius-md,0.5rem);font-size:var(--tm-font-size-sm,0.875rem);cursor:pointer;transition:background-color 0.15s ease;}
.tm-wf-properties__save:hover{background-color:var(--tm-color-primary-600,#2563eb);}
.tm-wf-minimap{position:absolute;bottom:var(--tm-spacing-3,0.75rem);right:var(--tm-spacing-3,0.75rem);width:180px;height:120px;background-color:rgba(255,255,255,0.92);border:1px solid var(--tm-color-neutral-200,#e5e7eb);border-radius:var(--tm-radius-md,0.5rem);box-shadow:0 2px 8px rgba(0,0,0,0.08);overflow:hidden;cursor:pointer;z-index:10;}
.tm-wf-minimap svg{display:block;width:100%;height:100%;}
.tm-wf-minimap__state{pointer-events:none;}
.tm-wf-minimap__transition{pointer-events:none;}
.tm-wf-minimap__viewport{pointer-events:none;}
@keyframes tm-wf-slide-in{from{opacity:0;transform:translateX(10px);}
to{opacity:1;transform:translateX(0);}
}
[data-theme="dark"] .tm-wf-canvas,.tm-dark .tm-wf-canvas{background-color:var(--tm-color-neutral-900,#111827);border-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-wf-state__label,.tm-dark .tm-wf-state__label{fill:var(--tm-color-neutral-200,#e5e7eb);}
[data-theme="dark"] .tm-wf-transition__label,.tm-dark .tm-wf-transition__label{fill:var(--tm-color-neutral-400,#9ca3af);}
[data-theme="dark"] .tm-wf-toolbox,.tm-dark .tm-wf-toolbox{background-color:var(--tm-color-neutral-900,#111827);border-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-wf-toolbox__title,.tm-dark .tm-wf-toolbox__title{color:var(--tm-color-neutral-200,#e5e7eb);}
[data-theme="dark"] .tm-wf-toolbox__btn,.tm-dark .tm-wf-toolbox__btn{background-color:var(--tm-color-neutral-800,#1f2937);border-color:var(--tm-color-neutral-700,#374151);color:var(--tm-color-neutral-300,#d1d5db);}
[data-theme="dark"] .tm-wf-toolbox__btn:hover,.tm-dark .tm-wf-toolbox__btn:hover{background-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-wf-properties,.tm-dark .tm-wf-properties{background-color:var(--tm-color-neutral-900,#111827);border-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-wf-properties__header,.tm-dark .tm-wf-properties__header{background-color:var(--tm-color-neutral-800,#1f2937);border-bottom-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-wf-properties__title,.tm-dark .tm-wf-properties__title{color:var(--tm-color-neutral-200,#e5e7eb);}
[data-theme="dark"] .tm-wf-properties__footer,.tm-dark .tm-wf-properties__footer{background-color:var(--tm-color-neutral-800,#1f2937);border-top-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-wf-properties__input,.tm-dark .tm-wf-properties__input{background-color:var(--tm-color-neutral-800,#1f2937);border-color:var(--tm-color-neutral-600,#4b5563);color:var(--tm-color-neutral-200,#e5e7eb);}
[data-theme="dark"] .tm-wf-properties__from-to,.tm-dark .tm-wf-properties__from-to{background-color:var(--tm-color-neutral-800,#1f2937);color:var(--tm-color-neutral-300,#d1d5db);}
[data-theme="dark"] .tm-wf-properties__save,.tm-dark .tm-wf-properties__save{background-color:var(--tm-color-primary-600,#2563eb);}
[data-theme="dark"] .tm-wf-minimap,.tm-dark .tm-wf-minimap{background-color:rgba(17,24,39,0.92);border-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-wf-context-menu,.tm-dark .tm-wf-context-menu{background-color:var(--tm-color-neutral-800,#1f2937);border-color:var(--tm-color-neutral-600,#4b5563);}
[data-theme="dark"] .tm-wf-context-menu__item,.tm-dark .tm-wf-context-menu__item{color:var(--tm-color-neutral-200,#e5e7eb);}
[data-theme="dark"] .tm-wf-context-menu__item:hover,.tm-dark .tm-wf-context-menu__item:hover{background-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-wf-context-menu__item--danger,.tm-dark .tm-wf-context-menu__item--danger{color:var(--tm-color-danger-400,#f87171);}
[data-theme="dark"] .tm-wf-context-menu__item--danger:hover,.tm-dark .tm-wf-context-menu__item--danger:hover{background-color:rgba(220,38,38,0.15);}
[data-theme="dark"] .tm-wf-context-menu__divider,.tm-dark .tm-wf-context-menu__divider{background-color:var(--tm-color-neutral-700,#374151);}
[data-theme="dark"] .tm-wf-zoom-btn,.tm-dark .tm-wf-zoom-btn{background-color:var(--tm-color-neutral-800,#1f2937);border-color:var(--tm-color-neutral-600,#4b5563);color:var(--tm-color-neutral-300,#d1d5db);}
@media (prefers-reduced-motion:reduce){.tm-wf-state,.tm-wf-transition path,.tm-wf-port,.tm-wf-properties{transition:none;animation:none;}
}
.tm-tree-view{display:flex;flex-direction:column;font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);}
.tm-tree-node{display:flex;align-items:center;gap:var(--tm-space-1);padding:var(--tm-space-1) 0;}
.tm-tree-expand{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:none;cursor:pointer;font-size:10px;color:var(--tm-text-secondary);border-radius:var(--tm-radius-sm);flex-shrink:0;transition:background var(--tm-transition-fast),color var(--tm-transition-fast);}
.tm-tree-expand:hover{background:var(--tm-color-gray-200);color:var(--tm-text-primary);}
.tm-tree-node-label{cursor:pointer;padding:var(--tm-space-1) var(--tm-space-2);border-radius:var(--tm-radius-sm);transition:background var(--tm-transition-fast);}
.tm-tree-node-label:hover{background:var(--tm-color-gray-100);}
.tm-multi-view-list{display:flex;flex-direction:column;gap:var(--tm-space-3);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);padding:var(--tm-space-4);}
.tm-mvl-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--tm-space-4);padding-bottom:var(--tm-space-3);border-bottom:1px solid var(--tm-border-color);}
.tm-mvl-toolbar-left{display:flex;align-items:center;flex:1;max-width:400px;}
.tm-mvl-toolbar-right{display:flex;align-items:center;gap:var(--tm-space-2);}
.tm-mvl-external-filters{padding:var(--tm-space-3) 0;border-bottom:1px solid var(--tm-border-color);}
.tm-mvl-switcher{display:flex;gap:var(--tm-space-1);justify-content:flex-end;}
.tm-mvl-switch-table,.tm-mvl-switch-card,.tm-mvl-switch-list{background:none;border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-md);cursor:pointer;padding:var(--tm-space-1) var(--tm-space-2);color:var(--tm-text-secondary);transition:background var(--tm-transition-fast),color var(--tm-transition-fast);}
.tm-mvl-switch-table:hover,.tm-mvl-switch-card:hover,.tm-mvl-switch-list:hover{background:var(--tm-bg-muted);color:var(--tm-text-primary);}
.tm-mvl-switch--active{background:var(--tm-color-primary-subtle);color:var(--tm-color-primary);border-color:var(--tm-color-primary);}
.tm-mvl-table{width:100%;border-collapse:collapse;font-size:var(--tm-font-size-sm);}
.tm-mvl-table th{padding:var(--tm-space-2) var(--tm-space-3);text-align:left;font-weight:var(--tm-font-weight-semibold);border-bottom:1px solid var(--tm-border-color);color:var(--tm-text-secondary);}
.tm-mvl-row{cursor:pointer;transition:background var(--tm-transition-fast);}
.tm-mvl-row:hover{background:var(--tm-bg-muted);}
.tm-mvl-row td{padding:var(--tm-space-2) var(--tm-space-3);border-bottom:1px solid var(--tm-border-color);}
.tm-mvl-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--tm-space-4);}
.tm-mvl-card{display:flex;flex-direction:column;justify-content:space-between;padding:var(--tm-space-4);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);cursor:pointer;transition:box-shadow var(--tm-transition-fast),border-color var(--tm-transition-fast);min-height:7rem;}
.tm-mvl-card:hover{box-shadow:var(--tm-shadow-md);border-color:var(--tm-border-color-focus);}
.tm-mvl-card-header{display:flex;align-items:flex-start;gap:var(--tm-space-3);}
.tm-mvl-card-avatar{width:2.5rem;height:2.5rem;border-radius:50%;object-fit:cover;flex-shrink:0;}
.tm-mvl-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--tm-space-1);}
.tm-mvl-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--tm-space-2);}
.tm-mvl-card-title{font-weight:var(--tm-font-weight-semibold);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tm-mvl-card-subtitle{font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);}
.tm-mvl-card-footer{margin-top:var(--tm-space-3);padding-top:var(--tm-space-2);border-top:1px solid var(--tm-border-color-subtle,var(--tm-border-color));}
.tm-mvl-card-date{font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);}
.tm-mvl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.tm-mvl-list-item{display:flex;align-items:center;gap:var(--tm-space-3);padding:var(--tm-space-3) var(--tm-space-4);border-bottom:1px solid var(--tm-border-color);cursor:pointer;transition:background var(--tm-transition-fast);}
.tm-mvl-list-item:hover{background:var(--tm-bg-muted);}
.tm-mvl-list-item-body{flex:1;min-width:0;display:flex;flex-direction:column;}
.tm-mvl-list-item-title{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-medium);}
.tm-mvl-list-item-subtitle{font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);}
.tm-mvl-list-item-date{font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);white-space:nowrap;}
.tm-mvl-avatar{width:2rem;height:2rem;border-radius:50%;object-fit:cover;flex-shrink:0;}
.tm-mvl-status{display:inline-flex;align-items:center;padding:0.25rem 0.625rem;border-radius:var(--tm-radius-full);font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-medium);background:var(--tm-bg-muted);color:var(--tm-text-secondary);flex-shrink:0;white-space:nowrap;}
.tm-mvl-group-picker{position:relative;}
.tm-mvl-group-btn{display:inline-flex;align-items:center;gap:var(--tm-space-1);padding:var(--tm-space-1) var(--tm-space-3);border:1px solid var(--tm-border-color,#d1d5db);border-radius:var(--tm-radius,0.375rem);background:var(--tm-surface,white);color:var(--tm-text-secondary,#6b7280);font-size:var(--tm-font-size-sm,0.875rem);cursor:pointer;}
.tm-mvl-group-btn:hover{background:var(--tm-surface-secondary,#f9fafb);}
.tm-mvl-group-dropdown{position:absolute;top:100%;right:0;z-index:20;min-width:12rem;margin-top:var(--tm-space-1);padding:var(--tm-space-2);border:1px solid var(--tm-border-color,#d1d5db);border-radius:var(--tm-radius,0.375rem);background:var(--tm-surface,white);box-shadow:var(--tm-shadow-lg,0 10px 15px -3px rgba(0,0,0,0.1));}
.tm-mvl-group-option{display:flex;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-1) var(--tm-space-2);border-radius:var(--tm-radius,0.375rem);cursor:pointer;font-size:var(--tm-font-size-sm,0.875rem);}
.tm-mvl-group-option:hover{background:var(--tm-surface-secondary,#f9fafb);}
.tm-mvl-group-section{margin-bottom:var(--tm-space-3);}
.tm-mvl-group-header{display:flex;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-2) var(--tm-space-3);background:var(--tm-surface-secondary,#f9fafb);border-radius:var(--tm-radius,0.375rem);margin-bottom:var(--tm-space-2);font-weight:600;}
.tm-mvl-group-row{background:var(--tm-surface-secondary,#f9fafb);font-weight:600;}
.tm-mvl-group-row td{padding:var(--tm-space-2) var(--tm-space-3);border-bottom:1px solid var(--tm-border-color,#d1d5db);}
.tm-mvl-group-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:var(--tm-radius,0.375rem);background:transparent;color:var(--tm-text-secondary,#6b7280);cursor:pointer;font-size:0.75rem;}
.tm-mvl-group-toggle:hover{background:var(--tm-surface-tertiary,#e5e7eb);}
.tm-mvl-group-label{margin-right:var(--tm-space-2);}
.tm-mvl-group-count{color:var(--tm-text-tertiary,#9ca3af);font-weight:400;font-size:var(--tm-font-size-sm,0.875rem);}
.tm-mvl-virtual-scroll{overflow-y:auto;}
.tm-tabs{display:flex;flex-direction:column;width:100%;}
.tm-tabs__header{display:flex;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.tm-tabs__header::-webkit-scrollbar{display:none;}
.tm-tab{display:inline-flex;align-items:center;gap:0.375rem;padding:0.625rem 1rem;font-size:0.875rem;font-weight:500;line-height:1.25rem;color:var(--tm-color-neutral-500);background:transparent;border:none;cursor:pointer;white-space:nowrap;transition:color 0.15s ease,background-color 0.15s ease,border-color 0.15s ease,box-shadow 0.15s ease;position:relative;flex-shrink:0;}
.tm-tab:hover:not(.tm-tab--disabled){color:var(--tm-color-neutral-700);}
.tm-tab:focus-visible{outline:2px solid var(--tm-color-primary-500);outline-offset:-2px;border-radius:var(--tm-radius-sm);}
.tm-tab--active{color:var(--tm-color-primary-600);}
.tm-tab--disabled{color:var(--tm-color-neutral-300);cursor:not-allowed;opacity:0.6;}
.tm-tab__icon{display:inline-flex;align-items:center;flex-shrink:0;}
.tm-tab__label{display:inline-flex;align-items:center;}
.tm-tab__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 0.375rem;font-size:0.6875rem;font-weight:600;line-height:1;color:var(--tm-color-primary-700);background-color:var(--tm-color-primary-100);border-radius:9999px;}
.tm-tabs__panel{padding:1rem 0;}
.tm-tabs--line .tm-tabs__header{border-bottom:1px solid var(--tm-color-neutral-200);}
.tm-tabs--line .tm-tab{border-bottom:2px solid transparent;margin-bottom:-1px;}
.tm-tabs--line .tm-tab--active{border-bottom-color:var(--tm-color-primary-600);}
.tm-tabs--line .tm-tab:hover:not(.tm-tab--disabled):not(.tm-tab--active){border-bottom-color:var(--tm-color-neutral-300);}
.tm-tabs--pill .tm-tabs__header{gap:0.25rem;background-color:var(--tm-color-neutral-100);border-radius:var(--tm-radius-lg);padding:0.25rem;}
.tm-tabs--pill .tm-tab{border-radius:var(--tm-radius-md);padding:0.5rem 0.875rem;}
.tm-tabs--pill .tm-tab--active{background-color:#fff;color:var(--tm-color-neutral-900);box-shadow:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04);}
.tm-tabs--pill .tm-tab:hover:not(.tm-tab--disabled):not(.tm-tab--active){color:var(--tm-color-neutral-700);}
.tm-tabs--enclosed .tm-tabs__header{border-bottom:1px solid var(--tm-color-neutral-200);}
.tm-tabs--enclosed .tm-tab{border:1px solid transparent;border-bottom:none;border-radius:var(--tm-radius-md) var(--tm-radius-md) 0 0;margin-bottom:-1px;padding:0.5rem 1rem;}
.tm-tabs--enclosed .tm-tab--active{background-color:#fff;border-color:var(--tm-color-neutral-200);color:var(--tm-color-neutral-900);}
.tm-tabs--enclosed .tm-tab:hover:not(.tm-tab--disabled):not(.tm-tab--active){background-color:var(--tm-color-neutral-50);}
[data-theme="dark"] .tm-tab,.tm-dark .tm-tab{color:var(--tm-color-neutral-400);}
[data-theme="dark"] .tm-tab:hover:not(.tm-tab--disabled),.tm-dark .tm-tab:hover:not(.tm-tab--disabled){color:var(--tm-color-neutral-200);}
[data-theme="dark"] .tm-tab--active,.tm-dark .tm-tab--active{color:var(--tm-color-primary-400);}
[data-theme="dark"] .tm-tab--disabled,.tm-dark .tm-tab--disabled{color:var(--tm-color-neutral-600);}
[data-theme="dark"] .tm-tab__badge,.tm-dark .tm-tab__badge{color:var(--tm-color-primary-300);background-color:var(--tm-color-primary-900);}
[data-theme="dark"] .tm-tabs--line .tm-tabs__header,.tm-dark .tm-tabs--line .tm-tabs__header{border-bottom-color:var(--tm-color-neutral-700);}
[data-theme="dark"] .tm-tabs--line .tm-tab--active,.tm-dark .tm-tabs--line .tm-tab--active{border-bottom-color:var(--tm-color-primary-400);}
[data-theme="dark"] .tm-tabs--line .tm-tab:hover:not(.tm-tab--disabled):not(.tm-tab--active),.tm-dark .tm-tabs--line .tm-tab:hover:not(.tm-tab--disabled):not(.tm-tab--active){border-bottom-color:var(--tm-color-neutral-600);}
[data-theme="dark"] .tm-tabs--pill .tm-tabs__header,.tm-dark .tm-tabs--pill .tm-tabs__header{background-color:var(--tm-color-neutral-800);}
[data-theme="dark"] .tm-tabs--pill .tm-tab--active,.tm-dark .tm-tabs--pill .tm-tab--active{background-color:var(--tm-color-neutral-700);color:var(--tm-color-neutral-100);box-shadow:0 1px 3px rgba(0,0,0,0.3);}
[data-theme="dark"] .tm-tabs--enclosed .tm-tabs__header,.tm-dark .tm-tabs--enclosed .tm-tabs__header{border-bottom-color:var(--tm-color-neutral-700);}
[data-theme="dark"] .tm-tabs--enclosed .tm-tab--active,.tm-dark .tm-tabs--enclosed .tm-tab--active{background-color:var(--tm-color-neutral-800);border-color:var(--tm-color-neutral-700);color:var(--tm-color-neutral-100);}
[data-theme="dark"] .tm-tabs--enclosed .tm-tab:hover:not(.tm-tab--disabled):not(.tm-tab--active),.tm-dark .tm-tabs--enclosed .tm-tab:hover:not(.tm-tab--disabled):not(.tm-tab--active){background-color:var(--tm-color-neutral-800);}
@media (prefers-reduced-motion:reduce){.tm-tab{transition:none;}
}
@media (max-width:640px){.tm-tab{padding:0.5rem 0.75rem;font-size:0.8125rem;}
.tm-tab__badge{min-width:1.125rem;height:1.125rem;font-size:0.625rem;}
}
.tm-dashboard{display:flex;flex-direction:column;gap:var(--tm-space-4);background:var(--tm-bg-surface);border-radius:var(--tm-radius-xl);padding:var(--tm-space-6);min-height:600px;}
.tm-dashboard--edit{background:var(--tm-bg-surface-secondary);border:2px dashed var(--tm-color-primary);}
.tm-dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--tm-space-4);padding-bottom:var(--tm-space-4);border-bottom:1px solid var(--tm-border-color);}
.tm-dashboard-toolbar-left{display:flex;align-items:center;gap:var(--tm-space-3);}
.tm-dashboard-toolbar-right{display:flex;align-items:center;gap:var(--tm-space-2);}
.tm-dashboard-title{font-size:var(--tm-font-size-xl);font-weight:var(--tm-font-weight-bold);color:var(--tm-text-primary);margin:0;}
.tm-dashboard-edit-badge{padding:var(--tm-space-1) var(--tm-space-2);background:var(--tm-color-primary-subtle);color:var(--tm-color-primary);font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-semibold);border-radius:var(--tm-radius-full);text-transform:uppercase;letter-spacing:0.05em;}
.tm-dashboard-views{position:relative;}
.tm-dashboard-menu{position:absolute;top:calc(100%+var(--tm-space-1));right:0;z-index:var(--tm-z-dropdown);min-width:200px;background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-lg);padding:var(--tm-space-1);}
.tm-dashboard-menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--tm-space-2);padding:var(--tm-space-2) var(--tm-space-3);border-radius:var(--tm-radius-md);cursor:pointer;font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);transition:background var(--tm-transition-fast);}
.tm-dashboard-menu-item:hover{background:var(--tm-bg-muted);}
.tm-dashboard-menu-item--active{background:var(--tm-color-primary-subtle);color:var(--tm-color-primary-text);}
.tm-dashboard-menu-badge{color:var(--tm-color-warning);font-size:var(--tm-font-size-xs);}
.tm-dashboard-menu-divider{height:1px;background:var(--tm-border-color);margin:var(--tm-space-1) 0;}
.tm-dashboard-grid-container{flex:1;position:relative;overflow-x:auto;}
.tm-dashboard-grid{display:grid;grid-template-columns:repeat(var(--grid-columns,12),1fr);grid-auto-rows:var(--row-height,60px);gap:var(--grid-gap,16px);position:relative;min-height:100%;}
.tm-dashboard-grid-bg{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--grid-columns,12),1fr);gap:var(--grid-gap,16px);pointer-events:none;z-index:0;}
.tm-dashboard-grid-col{background:repeating-linear-gradient( 0deg,transparent,transparent calc(var(--row-height,60px) - 1px),var(--tm-border-color-subtle,rgba(0,0,0,0.05)) calc(var(--row-height,60px) - 1px),var(--tm-border-color-subtle,rgba(0,0,0,0.05)) var(--row-height,60px) );border:1px dashed var(--tm-border-color-subtle,rgba(0,0,0,0.1));border-radius:var(--tm-radius-md);}
.tm-dashboard--edit .tm-dashboard-grid-col{background-color:rgba(99,102,241,0.03);}
.tm-widget{position:relative;display:flex;flex-direction:column;background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-sm);overflow:hidden;transition:box-shadow var(--tm-transition-fast),transform var(--tm-transition-fast);z-index:1;}
.tm-widget:hover{box-shadow:var(--tm-shadow-md);}
.tm-widget--dragging{opacity:0.5;z-index:1000;}
.tm-widget--collapsed{min-height:auto;}
.tm-widget--minimized{grid-row:span 1 !important;}
.tm-widget-header{display:flex;align-items:center;justify-content:space-between;gap:var(--tm-space-2);padding:var(--tm-space-3) var(--tm-space-4);background:var(--tm-bg-surface-secondary);border-bottom:1px solid var(--tm-border-color);cursor:grab;}
.tm-widget-header:active{cursor:grabbing;}
.tm-widget-header-left{display:flex;align-items:center;gap:var(--tm-space-2);flex:1;min-width:0;}
.tm-widget-drag-handle{color:var(--tm-text-secondary);cursor:grab;padding:var(--tm-space-1);margin:calc(-1 * var(--tm-space-1));border-radius:var(--tm-radius-sm);transition:color var(--tm-transition-fast);}
.tm-widget-drag-handle:hover{color:var(--tm-text-primary);background:var(--tm-bg-muted);}
.tm-widget-title{font-weight:var(--tm-font-weight-semibold);font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tm-widget-header-actions{display:flex;align-items:center;gap:var(--tm-space-1);}
.tm-widget-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:none;border-radius:var(--tm-radius-md);color:var(--tm-text-secondary);cursor:pointer;transition:all var(--tm-transition-fast);}
.tm-widget-btn:hover{background:var(--tm-bg-muted);color:var(--tm-text-primary);}
.tm-widget-btn--danger:hover{background:var(--tm-color-danger-subtle);color:var(--tm-color-danger);}
.tm-widget-content{flex:1;padding:var(--tm-space-4);overflow:auto;min-height:0;}
.tm-widget--collapsed .tm-widget-content{display:none;}
.tm-widget-resize-handle{position:absolute;z-index:10;opacity:0;transition:opacity var(--tm-transition-fast);}
.tm-widget:hover .tm-widget-resize-handle,.tm-dashboard--edit .tm-widget-resize-handle{opacity:1;}
.tm-widget-resize-se,.tm-widget-resize-nw{width:12px;height:12px;cursor:nwse-resize;}
.tm-widget-resize-sw,.tm-widget-resize-ne{width:12px;height:12px;cursor:nesw-resize;}
.tm-widget-resize-e,.tm-widget-resize-w{width:8px;height:100%;top:0;cursor:ew-resize;}
.tm-widget-resize-n,.tm-widget-resize-s{width:100%;height:8px;left:0;cursor:ns-resize;}
.tm-widget-resize-se{bottom:0;right:0;background:linear-gradient(135deg,transparent 50%,var(--tm-color-primary) 50%);border-bottom-right-radius:var(--tm-radius-lg);}
.tm-widget-resize-sw{bottom:0;left:0;background:linear-gradient(225deg,transparent 50%,var(--tm-color-primary) 50%);border-bottom-left-radius:var(--tm-radius-lg);}
.tm-widget-resize-ne{top:0;right:0;background:linear-gradient(45deg,transparent 50%,var(--tm-color-primary) 50%);border-top-right-radius:var(--tm-radius-lg);}
.tm-widget-resize-nw{top:0;left:0;background:linear-gradient(315deg,transparent 50%,var(--tm-color-primary) 50%);border-top-left-radius:var(--tm-radius-lg);}
.tm-widget-resize-e{right:0;}
.tm-widget-resize-w{left:0;}
.tm-widget-resize-s{bottom:0;}
.tm-widget-resize-n{top:0;}
.tm-widget-drop-preview{position:relative;background:var(--tm-color-primary-subtle);border:2px dashed var(--tm-color-primary);border-radius:var(--tm-radius-lg);opacity:0.7;pointer-events:none;z-index:0;}
.tm-dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--tm-space-4);padding:var(--tm-space-12);text-align:center;color:var(--tm-text-secondary);}
.tm-dashboard-empty-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--tm-bg-muted);border-radius:var(--tm-radius-xl);color:var(--tm-text-secondary);}
.tm-dashboard-empty h3{font-size:var(--tm-font-size-lg);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);margin:0;}
.tm-dashboard-empty p{margin:0;font-size:var(--tm-font-size-sm);}
.tm-widget-selector-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--tm-space-4);}
.tm-widget-selector-modal{display:flex;flex-direction:column;width:100%;max-width:900px;height:80vh;max-height:700px;background:var(--tm-bg-surface);border-radius:var(--tm-radius-xl);box-shadow:var(--tm-shadow-xl);overflow:hidden;}
.tm-widget-selector-header{display:flex;flex-direction:column;gap:var(--tm-space-1);padding:var(--tm-space-6);border-bottom:1px solid var(--tm-border-color);position:relative;}
.tm-widget-selector-header h3{font-size:var(--tm-font-size-xl);font-weight:var(--tm-font-weight-bold);color:var(--tm-text-primary);margin:0;}
.tm-widget-selector-header p{font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);margin:0;}
.tm-widget-selector-close{position:absolute;top:var(--tm-space-4);right:var(--tm-space-4);display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:none;border-radius:var(--tm-radius-md);color:var(--tm-text-secondary);cursor:pointer;transition:all var(--tm-transition-fast);}
.tm-widget-selector-close:hover{background:var(--tm-bg-muted);color:var(--tm-text-primary);}
.tm-widget-selector-search{padding:var(--tm-space-4) var(--tm-space-6);border-bottom:1px solid var(--tm-border-color);}
.tm-widget-selector-content{display:flex;flex:1;overflow:hidden;}
.tm-widget-selector-sidebar{width:220px;border-right:1px solid var(--tm-border-color);overflow-y:auto;padding:var(--tm-space-2);}
.tm-widget-selector-categories{display:flex;flex-direction:column;gap:var(--tm-space-1);}
.tm-widget-selector-category{display:flex;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-2) var(--tm-space-3);background:transparent;border:none;border-radius:var(--tm-radius-md);color:var(--tm-text-secondary);font-size:var(--tm-font-size-sm);cursor:pointer;transition:all var(--tm-transition-fast);text-align:left;}
.tm-widget-selector-category:hover{background:var(--tm-bg-muted);color:var(--tm-text-primary);}
.tm-widget-selector-category--active{background:var(--tm-color-primary-subtle) !important;color:var(--tm-color-primary) !important;font-weight:var(--tm-font-weight-medium);}
.tm-widget-selector-category svg{color:var(--category-color,var(--tm-text-secondary));}
.tm-widget-selector-count{margin-left:auto;padding:0.125rem 0.375rem;background:var(--tm-bg-muted);border-radius:var(--tm-radius-full);font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-secondary);}
.tm-widget-selector-category--active .tm-widget-selector-count{background:var(--tm-color-primary);color:white;}
.tm-widget-selector-widgets{flex:1;overflow-y:auto;padding:var(--tm-space-4);}
.tm-widget-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--tm-space-4);}
.tm-widget-card{display:flex;align-items:flex-start;gap:var(--tm-space-3);padding:var(--tm-space-4);background:var(--tm-bg-surface);border:1px solid var(--tm-border-color);border-radius:var(--tm-radius-lg);cursor:pointer;transition:all var(--tm-transition-fast);position:relative;}
.tm-widget-card:hover{border-color:var(--tm-color-primary);box-shadow:var(--tm-shadow-md);transform:translateY(-2px);}
.tm-widget-card--disabled{opacity:0.5;cursor:not-allowed;}
.tm-widget-card--disabled:hover{border-color:var(--tm-border-color);box-shadow:none;transform:none;}
.tm-widget-card-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--category-color,var(--tm-color-primary));color:white;border-radius:var(--tm-radius-lg);}
.tm-widget-card-info{flex:1;min-width:0;}
.tm-widget-card-info h4{font-size:var(--tm-font-size-sm);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);margin:0 0 var(--tm-space-1) 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tm-widget-card-info p{font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);margin:0 0 var(--tm-space-2) 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;}
.tm-widget-card-meta{display:flex;align-items:center;gap:var(--tm-space-2);}
.tm-widget-card-size{font-size:var(--tm-font-size-xs);color:var(--tm-text-secondary);font-family:monospace;}
.tm-widget-card-badge{padding:0.125rem 0.5rem;background:var(--tm-color-success-subtle);color:var(--tm-color-success);font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-medium);border-radius:var(--tm-radius-full);}
.tm-widget-card-badge--added{background:var(--tm-color-gray-200);color:var(--tm-color-gray-600);}
.tm-widget-card-add{position:absolute;top:var(--tm-space-2);right:var(--tm-space-2);width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--tm-color-primary);color:white;border-radius:var(--tm-radius-full);opacity:0;transition:opacity var(--tm-transition-fast);}
.tm-widget-card:hover .tm-widget-card-add{opacity:1;}
.tm-widget-selector-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--tm-space-3);padding:var(--tm-space-12);color:var(--tm-text-secondary);text-align:center;}
.tm-widget-selector-empty p{font-size:var(--tm-font-size-lg);font-weight:var(--tm-font-weight-medium);color:var(--tm-text-primary);margin:0;}
.tm-widget-selector-empty span{font-size:var(--tm-font-size-sm);}
.tm-widget-selector-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--tm-space-4);padding:var(--tm-space-4) var(--tm-space-6);border-top:1px solid var(--tm-border-color);background:var(--tm-bg-surface-secondary);}
.tm-widget-selector-hint{display:flex;align-items:center;gap:var(--tm-space-2);font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);}
.tm-dashboard-title-wrapper{display:flex;align-items:center;gap:var(--tm-space-2);}
.tm-dashboard-name-edit{display:flex;align-items:center;gap:var(--tm-space-2);}
.tm-dashboard-name-input{min-width:200px;}
.tm-dashboard-name-input input{font-size:var(--tm-font-size-xl);font-weight:var(--tm-font-weight-bold);padding:var(--tm-space-2) var(--tm-space-3);}
.tm-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--tm-space-4);}
.tm-modal{width:100%;max-width:480px;background:var(--tm-bg-surface);border-radius:var(--tm-radius-xl);box-shadow:var(--tm-shadow-xl);overflow:hidden;}
.tm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tm-space-5) var(--tm-space-6);border-bottom:1px solid var(--tm-border-color);}
.tm-modal-header h3{font-size:var(--tm-font-size-lg);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);margin:0;}
.tm-modal-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:none;border-radius:var(--tm-radius-md);color:var(--tm-text-secondary);cursor:pointer;transition:all var(--tm-transition-fast);font-size:var(--tm-font-size-xl);}
.tm-modal-close:hover{background:var(--tm-bg-muted);color:var(--tm-text-primary);}
.tm-modal-body{padding:var(--tm-space-6);}
.tm-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--tm-space-3);padding:var(--tm-space-4) var(--tm-space-6);border-top:1px solid var(--tm-border-color);background:var(--tm-bg-surface-secondary);}
.tm-dashboard-menu-header{display:flex;align-items:center;padding:var(--tm-space-2) var(--tm-space-3);font-size:var(--tm-font-size-xs);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-secondary);text-transform:uppercase;letter-spacing:0.05em;}
.tm-dashboard-menu-item{display:flex;align-items:center;gap:var(--tm-space-2);padding:var(--tm-space-2) var(--tm-space-3);border-radius:var(--tm-radius-md);cursor:pointer;font-size:var(--tm-font-size-sm);color:var(--tm-text-primary);transition:background var(--tm-transition-fast);}
.tm-dashboard-menu-item>span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tm-dashboard-menu-item:hover{background:var(--tm-bg-muted);}
.tm-dashboard-menu-item--active{background:var(--tm-color-primary-subtle);color:var(--tm-color-primary-text);}
.tm-dashboard-menu-actions{display:flex;align-items:center;gap:var(--tm-space-1);}
.tm-dashboard-menu-action{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:var(--tm-radius-sm);color:var(--tm-text-secondary);cursor:pointer;opacity:0;transition:all var(--tm-transition-fast);}
.tm-dashboard-menu-item:hover .tm-dashboard-menu-action{opacity:1;}
.tm-dashboard-menu-action:hover{background:var(--tm-color-warning-subtle);color:var(--tm-color-warning);}
.tm-dashboard-menu-action--danger:hover{background:var(--tm-color-danger-subtle);color:var(--tm-color-danger);}
.tm-dashboard-menu-badge{color:var(--tm-color-warning);font-size:var(--tm-font-size-xs);}
.tm-dashboard-menu-divider{height:1px;background:var(--tm-border-color);margin:var(--tm-space-1) 0;}
@media (max-width:768px){.tm-widget-selector-modal{height:100vh;max-height:none;border-radius:0;}
.tm-widget-selector-sidebar{display:none;}
.tm-widget-selector-grid{grid-template-columns:1fr;}
.tm-modal{margin:var(--tm-space-4);}
.tm-dashboard-name-input{min-width:150px;}
}
.tm-modal-overlay{position:fixed;inset:0;z-index:var(--tm-z-modal,1000);display:flex;align-items:center;justify-content:center;padding:var(--tm-space-4);background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease;}
.tm-modal-overlay.tm-modal--visible{opacity:1;visibility:visible;}
.tm-modal-overlay.tm-modal--animated{animation:modalFadeIn 0.3s ease;}
@keyframes modalFadeIn{from{opacity:0;}
to{opacity:1;}
}
.tm-modal-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;max-height:100vh;overflow-y:auto;}
.tm-modal-container.tm-modal--top{align-items:flex-start;padding-top:var(--tm-space-16);}
.tm-modal-container.tm-modal--bottom{align-items:flex-end;padding-bottom:var(--tm-space-16);}
.tm-modal{position:relative;display:flex;flex-direction:column;width:100%;max-width:520px;max-height:calc(100vh - var(--tm-space-8));background:var(--tm-bg-surface);border-radius:var(--tm-radius-xl);box-shadow:var(--tm-shadow-2xl);overflow:hidden;transform:scale(0.95) translateY(10px);transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1);}
.tm-modal--visible .tm-modal{transform:scale(1) translateY(0);}
.tm-modal--sm{max-width:360px;}
.tm-modal--md{max-width:520px;}
.tm-modal--lg{max-width:680px;}
.tm-modal--xl{max-width:900px;}
.tm-modal--fullscreen{max-width:100%;max-height:100%;width:calc(100% - var(--tm-space-8));height:calc(100% - var(--tm-space-8));border-radius:var(--tm-radius-xl);}
.tm-modal-header{display:flex;align-items:flex-start;gap:var(--tm-space-4);padding:var(--tm-space-6) var(--tm-space-6) var(--tm-space-4);border-bottom:1px solid var(--tm-border-color);}
.tm-modal-header-icon{flex-shrink:0;color:var(--tm-color-primary);}
.tm-modal-header-content{flex:1;min-width:0;}
.tm-modal-title{font-size:var(--tm-font-size-xl);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);margin:0;line-height:1.3;}
.tm-modal-subtitle{font-size:var(--tm-font-size-sm);color:var(--tm-text-secondary);margin:var(--tm-space-1) 0 0 0;}
.tm-modal-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:none;border-radius:var(--tm-radius-md);color:var(--tm-text-secondary);cursor:pointer;transition:all var(--tm-transition-fast);}
.tm-modal-close:hover{background:var(--tm-bg-muted);color:var(--tm-text-primary);}
.tm-modal-body{flex:1;overflow-y:auto;padding:var(--tm-space-6);font-size:var(--tm-font-size-base);line-height:1.6;color:var(--tm-text-primary);}
.tm-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--tm-space-3);padding:var(--tm-space-4) var(--tm-space-6);border-top:1px solid var(--tm-border-color);background:var(--tm-bg-surface-secondary);}
.tm-modal-footer .tm-btn{min-width:100px;}
.tm-dialog{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:420px;padding:var(--tm-space-8);background:var(--tm-bg-surface);border-radius:var(--tm-radius-xl);box-shadow:var(--tm-shadow-2xl);text-align:center;transform:scale(0.9);transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1);}
.tm-modal--visible .tm-dialog{transform:scale(1);}
.tm-dialog-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:var(--tm-space-5);border-radius:var(--tm-radius-full);background:var(--tm-bg-muted);color:var(--tm-color-primary);}
.tm-dialog--info .tm-dialog-icon{background:var(--tm-color-info-subtle);color:var(--tm-color-info);}
.tm-dialog--success .tm-dialog-icon{background:var(--tm-color-success-subtle);color:var(--tm-color-success);}
.tm-dialog--warning .tm-dialog-icon{background:var(--tm-color-warning-subtle);color:var(--tm-color-warning);}
.tm-dialog--error .tm-dialog-icon,.tm-dialog--dangerous .tm-dialog-icon{background:var(--tm-color-danger-subtle);color:var(--tm-color-danger);}
.tm-dialog-content{width:100%;margin-bottom:var(--tm-space-6);}
.tm-dialog-title{font-size:var(--tm-font-size-xl);font-weight:var(--tm-font-weight-semibold);color:var(--tm-text-primary);margin:0 0 var(--tm-space-3) 0;}
.tm-dialog-message{font-size:var(--tm-font-size-base);color:var(--tm-text-secondary);margin:0;line-height:1.5;}
.tm-dialog-input-wrapper{margin-top:var(--tm-space-5);}
.tm-dialog-input{width:100%;text-align:center;}
.tm-dialog-input input{text-align:center;font-size:var(--tm-font-size-lg);}
.tm-dialog-footer{display:flex;align-items:center;justify-content:center;gap:var(--tm-space-3);width:100%;}
.tm-dialog-footer .tm-btn{min-width:120px;}
@media (max-width:640px){.tm-modal-overlay{padding:var(--tm-space-2);}
.tm-modal{max-width:100%;border-radius:var(--tm-radius-lg);}
.tm-modal--fullscreen{width:100%;height:100%;max-height:100%;border-radius:0;}
.tm-modal-header{padding:var(--tm-space-4) var(--tm-space-4) var(--tm-space-3);}
.tm-modal-body{padding:var(--tm-space-4);}
.tm-modal-footer{padding:var(--tm-space-3) var(--tm-space-4);flex-direction:column-reverse;}
.tm-modal-footer .tm-btn{width:100%;min-width:auto;}
.tm-dialog{padding:var(--tm-space-6);max-width:100%;margin:var(--tm-space-4);}
.tm-dialog-footer{flex-direction:column-reverse;}
.tm-dialog-footer .tm-btn{width:100%;}
}
.tm-import-preview{display:flex;flex-direction:column;background:var(--tm-bg-surface,#fff);border:1px solid var(--tm-border-color,#e2e8f0);border-radius:var(--tm-radius-lg,0.5rem);overflow:hidden;}
.tm-import-preview-header{padding:var(--tm-space-5,1.25rem) var(--tm-space-6,1.5rem);border-bottom:1px solid var(--tm-border-color,#e2e8f0);}
.tm-import-preview-title{margin:0;font-size:var(--tm-font-size-lg,1.125rem);font-weight:var(--tm-font-weight-semibold,600);color:var(--tm-text-primary,#0f172a);}
.tm-import-preview-description{margin:var(--tm-space-1,0.25rem) 0 0;font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-text-secondary,#475569);}
.tm-import-preview-content{padding:var(--tm-space-5,1.25rem) var(--tm-space-6,1.5rem);overflow-x:auto;}
.tm-import-preview-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--tm-space-3,0.75rem);padding:var(--tm-space-4,1rem) var(--tm-space-6,1.5rem);border-top:1px solid var(--tm-border-color,#e2e8f0);background:var(--tm-bg-surface-secondary,#f8fafc);}
.tm-export-options{display:flex;flex-direction:column;gap:var(--tm-space-5,1.25rem);background:var(--tm-bg-surface,#fff);border:1px solid var(--tm-border-color,#e2e8f0);border-radius:var(--tm-radius-lg,0.5rem);padding:var(--tm-space-6,1.5rem);}
.tm-export-options-title{margin:0;font-size:var(--tm-font-size-lg,1.125rem);font-weight:var(--tm-font-weight-semibold,600);color:var(--tm-text-primary,#0f172a);}
.tm-export-options-section-title{margin:0 0 var(--tm-space-3,0.75rem);font-size:var(--tm-font-size-sm,0.875rem);font-weight:var(--tm-font-weight-medium,500);color:var(--tm-text-secondary,#475569);}
.tm-export-options-entities{display:flex;flex-direction:column;gap:var(--tm-space-3,0.75rem);}
.tm-export-options-format{display:flex;flex-direction:column;gap:var(--tm-space-2,0.5rem);}
.tm-export-options-actions{display:flex;justify-content:flex-end;padding-top:var(--tm-space-3,0.75rem);border-top:1px solid var(--tm-border-color,#e2e8f0);}
.tm-import-wizard{display:flex;flex-direction:column;background:var(--tm-bg-surface,#fff);border:1px solid var(--tm-border-color,#e2e8f0);border-radius:var(--tm-radius-lg,0.5rem);overflow:hidden;}
.tm-import-wizard-header{padding:var(--tm-space-5,1.25rem) var(--tm-space-6,1.5rem);border-bottom:1px solid var(--tm-border-color,#e2e8f0);}
.tm-import-wizard-content{padding:var(--tm-space-6,1.5rem);flex:1;min-height:12rem;}
.tm-import-wizard-actions{display:flex;align-items:center;justify-content:space-between;padding:var(--tm-space-4,1rem) var(--tm-space-6,1.5rem);border-top:1px solid var(--tm-border-color,#e2e8f0);background:var(--tm-bg-surface-secondary,#f8fafc);}
.tm-import-wizard-actions-right{display:flex;align-items:center;gap:var(--tm-space-3,0.75rem);}
.tm-scheduler{display:flex;flex-direction:column;background:var(--tm-bg-surface,#fff);border:1px solid var(--tm-border-color,#e2e8f0);border-radius:var(--tm-radius-lg,0.5rem);overflow:hidden;}
.tm-scheduler-body{flex:1;min-height:0;}
.tm-scheduler-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--tm-space-4,1rem);padding:var(--tm-space-3,0.75rem) var(--tm-space-4,1rem);border-bottom:1px solid var(--tm-border-color,#e2e8f0);flex-wrap:wrap;}
.tm-scheduler-toolbar-nav{display:flex;align-items:center;gap:var(--tm-space-1,0.25rem);}
.tm-scheduler-toolbar-nav-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 var(--tm-space-2,0.5rem);border:1px solid var(--tm-border-color,#e2e8f0);border-radius:var(--tm-radius-sm,0.25rem);background:var(--tm-bg-surface,#fff);color:var(--tm-text-primary,#0f172a);font-size:var(--tm-font-size-sm,0.875rem);cursor:pointer;transition:background-color 0.15s ease,border-color 0.15s ease;}
.tm-scheduler-toolbar-nav-btn:hover{background:var(--tm-bg-hover,#f1f5f9);border-color:var(--tm-color-primary,#3b82f6);}
.tm-scheduler-toolbar-today-btn{font-weight:var(--tm-font-weight-medium,500);}
.tm-scheduler-toolbar-title{margin:0;font-size:var(--tm-font-size-lg,1.125rem);font-weight:var(--tm-font-weight-semibold,600);color:var(--tm-text-primary,#0f172a);text-align:center;flex:1;min-width:0;}
.tm-scheduler-toolbar-views{display:flex;align-items:center;gap:0;border:1px solid var(--tm-border-color,#e2e8f0);border-radius:var(--tm-radius-sm,0.25rem);overflow:hidden;}
.tm-scheduler-toolbar-view-btn{padding:var(--tm-space-1,0.25rem) var(--tm-space-3,0.75rem);border:none;border-right:1px solid var(--tm-border-color,#e2e8f0);background:var(--tm-bg-surface,#fff);color:var(--tm-text-secondary,#475569);font-size:var(--tm-font-size-xs,0.75rem);font-weight:var(--tm-font-weight-medium,500);cursor:pointer;transition:background-color 0.15s ease,color 0.15s ease;white-space:nowrap;}
.tm-scheduler-toolbar-view-btn:last-child{border-right:none;}
.tm-scheduler-toolbar-view-btn:hover{background:var(--tm-bg-hover,#f1f5f9);color:var(--tm-text-primary,#0f172a);}
.tm-scheduler-toolbar-view-btn--active{background:var(--tm-color-primary,#3b82f6);color:#fff;}
.tm-scheduler-toolbar-view-btn--active:hover{background:var(--tm-color-primary-dark,#2563eb);color:#fff;}
.tm-scheduler-context-menu{position:fixed;z-index:1000;min-width:160px;background:var(--tm-bg-surface,#ffffff);border:1px solid var(--tm-border-color,#e2e8f0);border-radius:var(--tm-radius-md,0.375rem);box-shadow:var(--tm-shadow-lg,0 10px 15px -3px rgba(0,0,0,0.1));padding:var(--tm-space-1,0.25rem) 0;}
.tm-scheduler-context-menu-item{display:flex;align-items:center;gap:var(--tm-space-2,0.5rem);width:100%;padding:var(--tm-space-2,0.5rem) var(--tm-space-3,0.75rem);border:none;background:transparent;color:var(--tm-text-primary,#1e293b);font-size:var(--tm-font-size-sm,0.875rem);text-align:left;cursor:pointer;transition:background-color 0.15s ease;}
.tm-scheduler-context-menu-item:hover{background:var(--tm-bg-hover,#f1f5f9);}
.tm-scheduler-context-menu-item--danger{color:var(--tm-color-danger,#ef4444);}
.tm-scheduler-context-menu-item--danger:hover{background:color-mix(in srgb,var(--tm-color-danger,#ef4444) 10%,transparent);}
.tm-scheduler-context-menu-divider{height:1px;margin:var(--tm-space-1,0.25rem) 0;background:var(--tm-border-color,#e2e8f0);}
.tm-scheduler-context-menu-icon{width:1rem;height:1rem;flex-shrink:0;color:var(--tm-text-tertiary,#94a3b8);}
[data-theme="dark"] .tm-scheduler-context-menu{background:var(--tm-bg-surface-dark,#1e293b);border-color:var(--tm-border-color-dark,#334155);}
[data-theme="dark"] .tm-scheduler-context-menu-item{color:var(--tm-text-primary-dark,#f1f5f9);}
[data-theme="dark"] .tm-scheduler-context-menu-item:hover{background:var(--tm-bg-hover-dark,#334155);}
[data-theme="dark"] .tm-scheduler-context-menu-divider{background:var(--tm-border-color-dark,#334155);}
.tm-scheduler-month{padding:var(--tm-space-2,0.5rem);}
.tm-scheduler-month-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--tm-border-color,#e2e8f0);border-radius:var(--tm-radius-sm,0.25rem);}
.tm-scheduler-month-day-header{padding:var(--tm-space-2,0.5rem);text-align:center;font-size:var(--tm-font-size-xs,0.75rem);font-weight:var(--tm-font-weight-semibold,600);color:var(--tm-text-tertiary,#94a3b8);text-transform:uppercase;letter-spacing:0.05em;background:var(--tm-bg-surface-secondary,#f8fafc);border-bottom:1px solid var(--tm-border-color,#e2e8f0);}
.tm-scheduler-month-day{min-height:6rem;padding:var(--tm-space-1,0.25rem);border-right:1px solid var(--tm-border-color-light,#f1f5f9);border-bottom:1px solid var(--tm-border-color-light,#f1f5f9);display:flex;flex-direction:column;gap:2px;cursor:pointer;transition:background-color 0.1s ease;}
.tm-scheduler-month-day:hover{background:var(--tm-bg-hover,#f1f5f9);}
.tm-scheduler-month-day:nth-child(7n+14){border-right:none;}
.tm-scheduler-month-day--other{background:var(--tm-bg-surface-secondary,#f8fafc);opacity:0.5;}
.tm-scheduler-month-day--today{background:color-mix(in srgb,var(--tm-color-primary,#3b82f6) 5%,transparent);}
.tm-scheduler-month-day--today .tm-scheduler-month-day-number{background:var(--tm-color-primary,#3b82f6);color:#fff;border-radius:50%;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;}
.tm-scheduler-month-day-number{font-size:var(--tm-font-size-sm,0.875rem);font-weight:var(--tm-font-weight-medium,500);color:var(--tm-text-primary,#0f172a);margin-bottom:2px;}
.tm-scheduler-month-event{display:flex;align-items:center;gap:var(--tm-space-1,0.25rem);padding:1px var(--tm-space-1,0.25rem);border-radius:var(--tm-radius-xs,0.125rem);font-size:0.6875rem;line-height:1.3;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-left:3px solid var(--event-color,var(--tm-color-primary,#3b82f6));background:color-mix(in srgb,var(--event-color,var(--tm-color-primary,#3b82f6)) 10%,transparent);transition:background-color 0.1s ease;}
.tm-scheduler-month-event:hover{background:color-mix(in srgb,var(--event-color,var(--tm-color-primary,#3b82f6)) 20%,transparent);}
.tm-scheduler-month-event--allday{background:var(--event-color,var(--tm-color-primary,#3b82f6));color:#fff;border-left:none;border-radius:var(--tm-radius-xs,0.125rem);padding:1px var(--tm-space-2,0.5rem);}
.tm-scheduler-month-event--allday:hover{filter:brightness(0.9);}
.tm-scheduler-month-event-time{color:var(--tm-text-tertiary,#94a3b8);font-size:0.625rem;flex-shrink:0;}
.tm-scheduler-month-event-title{overflow:hidden;text-overflow:ellipsis;}
.tm-scheduler-month-more{font-size:0.6875rem;color:var(--tm-text-tertiary,#94a3b8);padding:1px var(--tm-space-1,0.25rem);cursor:pointer;}
.tm-scheduler-month-more:hover{color:var(--tm-color-primary,#3b82f6);}
.tm-scheduler-month-event[draggable="true"]{cursor:grab;}
.tm-scheduler-month-event[draggable="true"]:active{cursor:grabbing;}
.tm-scheduler-month-event--dragging{opacity:0.5;}
.tm-scheduler-month-day--drop-target{background:color-mix(in srgb,var(--tm-color-primary,#3b82f6) 10%,transparent);}
.tm-scheduler-agenda{padding:var(--tm-space-2,0.5rem);display:flex;flex-direction:column;gap:var(--tm-space-4,1rem);}
.tm-scheduler-agenda-group{display:flex;gap:var(--tm-space-4,1rem);padding-bottom:var(--tm-space-4,1rem);border-bottom:1px solid var(--tm-border-color-light,#f1f5f9);}
.tm-scheduler-agenda-group:last-child{border-bottom:none;padding-bottom:0;}
.tm-scheduler-agenda-date{flex-shrink:0;width:6rem;display:flex;flex-direction:column;align-items:center;padding-top:var(--tm-space-1,0.25rem);}
.tm-scheduler-agenda-date-day{font-size:var(--tm-font-size-2xl,1.5rem);font-weight:var(--tm-font-weight-bold,700);color:var(--tm-text-primary,#0f172a);line-height:1;}
.tm-scheduler-agenda-date-weekday{font-size:var(--tm-font-size-xs,0.75rem);color:var(--tm-text-tertiary,#94a3b8);text-transform:uppercase;letter-spacing:0.05em;}
.tm-scheduler-agenda-date-month{font-size:var(--tm-font-size-xs,0.75rem);color:var(--tm-text-secondary,#64748b);}
.tm-scheduler-agenda-events{flex:1;display:flex;flex-direction:column;gap:var(--tm-space-2,0.5rem);}
.tm-scheduler-agenda-event{display:flex;align-items:flex-start;gap:var(--tm-space-3,0.75rem);padding:var(--tm-space-3,0.75rem);border-radius:var(--tm-radius-sm,0.25rem);cursor:pointer;transition:background-color 0.1s ease;}
.tm-scheduler-agenda-event:hover{background:var(--tm-bg-hover,#f1f5f9);}
.tm-scheduler-agenda-event-dot{width:0.5rem;height:0.5rem;border-radius:50%;background:var(--tm-color-primary,#3b82f6);flex-shrink:0;margin-top:0.375rem;}
.tm-scheduler-agenda-event-time{font-size:var(--tm-font-size-sm,0.875rem);color:var(--tm-text-secondary,#64748b);white-space:nowrap;min-width:7rem;flex-shrink:0;}
.tm-scheduler-agenda-event-title{font-size:var(--tm-font-size-sm,0.875rem);font-weight:var(--tm-font-weight-medium,500);color:var(--tm-text-primary,#0f172a);}
.tm-scheduler-agenda-event-desc{font-size:var(--tm-font-size-xs,0.75rem);color:var(--tm-text-tertiary,#94a3b8);}
.tm-scheduler-agenda-empty{display:flex;align-items:center;justify-content:center;min-height:12rem;color:var(--tm-text-tertiary,#94a3b8);font-size:var(--tm-font-size-sm,0.875rem);}
.tm-scheduler-timegrid{display:flex;flex-direction:column;border:1px solid var(--tm-border-color,#e2e8f0);border-radius:var(--tm-radius-sm,0.25rem);overflow:hidden;}
.tm-scheduler-timegrid-header{display:flex;border-bottom:1px solid var(--tm-border-color,#e2e8f0);background:var(--tm-bg-surface-secondary,#f8fafc);}
.tm-scheduler-timegrid-time-gutter-header{flex-shrink:0;width:4rem;border-right:1px solid var(--tm-border-color,#e2e8f0);}
.tm-scheduler-timegrid-col-header{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--tm-space-2,0.5rem) var(--tm-space-1,0.25rem);border-right:1px solid var(--tm-border-color-light,#f1f5f9);}
.tm-scheduler-timegrid-col-header:last-child{border-right:none;}
.tm-scheduler-timegrid-col-header-weekday{font-size:var(--tm-font-size-xs,0.75rem);font-weight:var(--tm-font-weight-semibold,600);color:var(--tm-text-tertiary,#94a3b8);text-transform:uppercase;letter-spacing:0.05em;}
.tm-scheduler-timegrid-col-header-date{font-size:var(--tm-font-size-lg,1.125rem);font-weight:var(--tm-font-weight-bold,700);color:var(--tm-text-primary,#0f172a);}
.tm-scheduler-timegrid-col-header-group{flex:1;display:flex;flex-direction:column;border-right:1px solid var(--tm-border-color-light,#f1f5f9);}
.tm-scheduler-timegrid-col-header-group:last-child{border-right:none;}
.tm-scheduler-timegrid-resource-labels{display:flex;border-top:1px solid var(--tm-border-color-light,#f1f5f9);}
.tm-scheduler-timegrid-resource-label{flex:1;text-align:center;font-size:var(--tm-font-size-xs,0.75rem);font-weight:var(--tm-font-weight-medium,500);color:var(--tm-text-secondary,#64748b);padding:var(--tm-space-1,0.25rem);border-right:1px solid var(--tm-border-color-light,#f1f5f9);border-bottom:3px solid var(--tm-color-primary,#3b82f6);}
.tm-scheduler-timegrid-resource-label:last-child{border-right:none;}
.tm-scheduler-timegrid-resource-col{flex:1;position:relative;border-right:1px solid var(--tm-border-color-light,#f1f5f9);}
.tm-scheduler-timegrid-resource-col:last-child{border-right:none;}
.tm-scheduler-timegrid-allday{display:flex;min-height:2rem;border-bottom:2px solid var(--tm-border-color,#e2e8f0);background:var(--tm-bg-surface-secondary,#f8fafc);}
.tm-scheduler-timegrid-allday-col{flex:1;display:flex;flex-wrap:wrap;gap:2px;padding:var(--tm-space-1,0.25rem);border-right:1px solid var(--tm-border-color-light,#f1f5f9);}
.tm-scheduler-timegrid-allday-col:last-child{border-right:none;}
.tm-scheduler-timegrid-allday-event{background:var(--event-color,var(--tm-color-primary,#3b82f6));color:#fff;font-size:0.6875rem;padding:1px var(--tm-space-2,0.5rem);border-radius:var(--tm-radius-xs,0.125rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;}
.tm-scheduler-timegrid-allday-event:hover{filter:brightness(0.9);}
.tm-scheduler-timegrid-time-gutter{flex-shrink:0;width:4rem;position:relative;border-right:1px solid var(--tm-border-color,#e2e8f0);}
.tm-scheduler-timegrid-time-label{position:absolute;right:var(--tm-space-2,0.5rem);font-size:var(--tm-font-size-xs,0.75rem);color:var(--tm-text-tertiary,#94a3b8);transform:translateY(-50%);white-space:nowrap;}
.tm-scheduler-timegrid-allday .tm-scheduler-timegrid-time-gutter{display:flex;align-items:center;justify-content:flex-end;padding-right:var(--tm-space-2,0.5rem);}
.tm-scheduler-timegrid-allday .tm-scheduler-timegrid-time-label{position:static;transform:none;}
.tm-scheduler-timegrid-body{display:flex;position:relative;height:72rem;overflow-y:auto;}
.tm-scheduler-timegrid-col{flex:1;position:relative;border-right:1px solid var(--tm-border-color-light,#f1f5f9);}
.tm-scheduler-timegrid-col:last-child{border-right:none;}
.tm-scheduler-timegrid-slot{position:absolute;left:0;right:0;border-bottom:1px solid var(--tm-border-color-light,#f1f5f9);cursor:pointer;transition:background-color 0.1s ease;}
.tm-scheduler-timegrid-slot:hover{background:var(--tm-bg-hover,rgba(241,245,249,0.5));}
.tm-scheduler-timegrid-event{position:absolute;border-radius:var(--tm-radius-xs,0.125rem);padding:var(--tm-space-1,0.25rem) var(--tm-space-2,0.5rem);overflow:hidden;cursor:pointer;z-index:1;border-left:3px solid var(--event-color,var(--tm-color-primary,#3b82f6));background:color-mix(in srgb,var(--event-color,var(--tm-color-primary,#3b82f6)) 15%,white);transition:box-shadow 0.1s ease;}
.tm-scheduler-timegrid-event:hover{box-shadow:0 2px 8px rgba(0,0,0,0.12);z-index:2;}
.tm-scheduler-timegrid-event-time{font-size:var(--tm-font-size-xs,0.75rem);color:var(--tm-text-secondary,#64748b);white-space:nowrap;}
.tm-scheduler-timegrid-event-title{font-size:var(--tm-font-size-sm,0.875rem);font-weight:var(--tm-font-weight-medium,500);color:var(--tm-text-primary,#0f172a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tm-scheduler-timegrid-now{position:absolute;left:0;right:0;height:2px;background:var(--tm-color-danger,#ef4444);z-index:3;pointer-events:none;}
.tm-scheduler-timegrid-now::before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--tm-color-danger,#ef4444);}
.tm-scheduler-timegrid-event[draggable="true"]{cursor:grab;}
.tm-scheduler-timegrid-event[draggable="true"]:active{cursor:grabbing;}
.tm-scheduler-timegrid-event--dragging{opacity:0.5;}
.tm-scheduler-timegrid-slot--drop-target{background:color-mix(in srgb,var(--tm-color-primary,#3b82f6) 10%,transparent);}
.tm-scheduler-timegrid-event .tm-scheduler-event-resize-handle{position:absolute;left:0;right:0;height:6px;cursor:ns-resize;background:transparent;transition:background-color 0.1s ease;z-index:3;}
.tm-scheduler-timegrid-event .tm-scheduler-event-resize-handle:hover{background:rgba(255,255,255,0.3);}
.tm-scheduler-timegrid-event .tm-scheduler-event-resize-handle--top{top:0;border-top:2px solid rgba(255,255,255,0.5);border-radius:2px 2px 0 0;}
.tm-scheduler-timegrid-event .tm-scheduler-event-resize-handle--top:hover{border-top-color:#fff;}
.tm-scheduler-timegrid-event .tm-scheduler-event-resize-handle--bottom{bottom:0;border-bottom:2px solid rgba(255,255,255,0.5);border-radius:0 0 2px 2px;}
.tm-scheduler-timegrid-event .tm-scheduler-event-resize-handle--bottom:hover{border-bottom-color:#fff;}
.tm-scheduler-day{padding:var(--tm-space-2,0.5rem);}
.tm-scheduler-week{padding:var(--tm-space-2,0.5rem);}
.tm-scheduler-timeline{display:flex;flex-direction:column;border:1px solid var(--tm-border-color,#e2e8f0);border-radius:var(--tm-radius-sm,0.25rem);overflow-x:auto;}
.tm-scheduler-timeline-header{display:flex;border-bottom:2px solid var(--tm-border-color,#e2e8f0);background:var(--tm-bg-surface-secondary,#f8fafc);position:sticky;top:0;z-index:2;}
.tm-scheduler-timeline-resource-header{flex-shrink:0;width:8rem;border-right:1px solid var(--tm-border-color,#e2e8f0);}
.tm-scheduler-timeline-time-header{flex:1;min-width:3rem;padding:var(--tm-space-2,0.5rem) var(--tm-space-1,0.25rem);font-size:var(--tm-font-size-xs,0.75rem);font-weight:var(--tm-font-weight-semibold,600);color:var(--tm-text-tertiary,#94a3b8);text-align:center;border-right:1px solid var(--tm-border-color-light,#f1f5f9);}
.tm-scheduler-timeline-time-header:last-child{border-right:none;}
.tm-scheduler-timeline-row{display:flex;min-height:3rem;border-bottom:1px solid var(--tm-border-color-light,#f1f5f9);}
.tm-scheduler-timeline-row:last-child{border-bottom:none;}
.tm-scheduler-timeline-resource-label{flex-shrink:0;width:8rem;padding:var(--tm-space-2,0.5rem) var(--tm-space-3,0.75rem);font-size:var(--tm-font-size-sm,0.875rem);font-weight:var(--tm-font-weight-medium,500);color:var(--tm-text-primary,#0f172a);border-right:1px solid var(--tm-border-color,#e2e8f0);border-left:3px solid var(--tm-color-primary,#3b82f6);display:flex;align-items:center;background:var(--tm-bg-surface-secondary,#f8fafc);}
.tm-scheduler-timeline-row-body{flex:1;position:relative;min-height:3rem;}
.tm-scheduler-timeline-slot{position:absolute;top:0;bottom:0;cursor:pointer;border-right:1px solid var(--tm-border-color-light,#f1f5f9);transition:background-color 0.1s ease;}
.tm-scheduler-timeline-slot:hover{background:var(--tm-bg-hover,rgba(241,245,249,0.5));}
.tm-scheduler-timeline-event{position:absolute;top:4px;bottom:4px;border-radius:var(--tm-radius-xs,0.125rem);padding:0 var(--tm-space-2,0.5rem);display:flex;align-items:center;cursor:pointer;overflow:visible;z-index:1;background:var(--event-color,var(--tm-color-primary,#3b82f6));color:#fff;font-size:var(--tm-font-size-xs,0.75rem);transition:filter 0.1s ease;}
.tm-scheduler-timeline-event:hover{filter:brightness(0.9);z-index:2;}
.tm-scheduler-timeline-event-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;}
.tm-scheduler-timeline-event .tm-scheduler-event-resize-handle{position:absolute;top:0;bottom:0;width:8px;background:transparent;transition:background-color 0.15s ease;z-index:3;}
.tm-scheduler-timeline-event .tm-scheduler-event-resize-handle:hover{background:rgba(255,255,255,0.35);}
.tm-scheduler-timeline-event .tm-scheduler-event-resize-handle--left{left:0;cursor:w-resize;border-left:2px solid rgba(255,255,255,0.5);border-radius:2px 0 0 2px;}
.tm-scheduler-timeline-event .tm-scheduler-event-resize-handle--left:hover{border-left-color:#fff;}
.tm-scheduler-timeline-event .tm-scheduler-event-resize-handle--right{right:0;cursor:e-resize;border-right:2px solid rgba(255,255,255,0.5);border-radius:0 2px 2px 0;}
.tm-scheduler-timeline-event .tm-scheduler-event-resize-handle--right:hover{border-right-color:#fff;}
.tm-scheduler-timeline-row-body--drop-target{background:color-mix(in srgb,var(--tm-color-primary,#3b82f6) 10%,transparent);}
.tm-scheduler-timeline-slot--drop-target{background:color-mix(in srgb,var(--tm-color-primary,#3b82f6) 20%,transparent);}