@charset "UTF-8";@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/geist-sans-latin-400-normal-NO4YIYBR.woff2") format("woff2"),url("./media/geist-sans-latin-400-normal-SPVB4UBT.woff") format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/geist-sans-latin-500-normal-2HVW4JIN.woff2") format("woff2"),url("./media/geist-sans-latin-500-normal-MKDM5S6X.woff") format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/geist-sans-latin-600-normal-APUZVQ3K.woff2") format("woff2"),url("./media/geist-sans-latin-600-normal-4WRAHYU4.woff") format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/geist-sans-latin-700-normal-AR3FNWJ5.woff2") format("woff2"),url("./media/geist-sans-latin-700-normal-646ACPX7.woff") format("woff")}:root{--color-primary-50: #eff4ff;--color-primary-100: #d1e0ff;--color-primary-200: #b2ccff;--color-primary-300: #84adff;--color-primary-400: #5b8df7;--color-primary-500: #2a6aeb;--color-primary-600: #1153d6;--color-primary-700: #0d3fa8;--color-primary-800: #082c7a;--color-primary-900: #002266;--color-secondary-50: #ecfdf5;--color-secondary-100: #d1fae5;--color-secondary-400: #34d399;--color-secondary-500: #10b981;--color-secondary-600: #059669;--color-secondary-700: #047857;--color-accent-50: #eff6ff;--color-accent-100: #dbeafe;--color-accent-400: #60a5fa;--color-accent-500: #3b82f6;--color-accent-600: #2563eb;--color-accent-700: #1d4ed8;--color-brand: var(--color-primary-600);--color-brand-hover: var(--color-primary-700);--color-brand-light: var(--color-primary-50);--color-brand-muted: var(--color-primary-100);--color-success: var(--color-secondary-600);--color-success-light: var(--color-secondary-50);--text-success: #047857;--text-warning: #b45309;--color-info: var(--color-accent-600);--color-info-light: var(--color-accent-50);--text-info: var(--color-accent-700);--color-purple: #8b5cf6;--color-purple-light: #f5f3ff;--text-purple: #6d28d9;--color-warning: #d97706;--color-warning-light: #fffbeb;--color-danger: #dc2626;--color-danger-light: #fef2f2;--bg-page: #f8fafc;--bg-surface: #ffffff;--bg-surface-raised: #ffffff;--bg-overlay: rgba(15, 23, 42, .4);--bg-sidebar: #ffffff;--bg-sidebar-active: var(--color-primary-50);--bg-input: #ffffff;--bg-hover: #f1f5f9;--bg-selected: var(--color-primary-50);--bg-subtle: #f1f5f9;--border-default: #e2e8f0;--border-strong: #cbd5e1;--border-focus: var(--color-primary-500);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-inverse: #ffffff;--text-brand: var(--color-primary-700);--text-on-brand: #ffffff;--shadow-xs: 0px 1px 2px rgba(16, 24, 40, .05);--shadow-sm: 0px 1px 2px rgba(16, 24, 40, .06), 0px 1px 3px rgba(16, 24, 40, .1);--shadow-md: 0px 2px 4px -1px rgba(16, 24, 40, .06), 0px 4px 8px -1px rgba(16, 24, 40, .1);--shadow-lg: 0px 4px 6px -2px rgba(16, 24, 40, .05), 0px 12px 16px -4px rgba(16, 24, 40, .1);--shadow-xl: 0px 13px 64px -3px rgba(16, 24, 40, .16);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--topbar-height: 68px;--border-radius-sm: 6px;--border-radius: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--border-radius-full: 9999px;--surface-glass: rgba(255, 255, 255, .72);--surface-glass-strong: rgba(255, 255, 255, .9);--surface-blur: blur(20px) saturate(160%);--border-translucent: rgba(15, 23, 42, .08);--glass-canvas: var(--surface-glass-strong);--glass-blur: var(--surface-blur);--ease-out: cubic-bezier(.22, .61, .36, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--transition-fast: .15s var(--ease-out);--transition-base: .24s var(--ease-out);--transition-slow: .36s var(--ease-out);--font-sans: "Geist Sans", system-ui, -apple-system, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5}[data-theme=dark]{--color-primary-300: #90c0fe;--color-primary-400: #68a9fd;--color-primary-500: #3889fa;--color-primary-600: #066bf9;--color-primary-700: #0557d1;--bg-sidebar-active: color-mix(in srgb, var(--color-primary-500) 20%, transparent);--bg-selected: color-mix(in srgb, var(--color-primary-500) 20%, transparent);--bg-page: #0f172a;--bg-surface: #1e293b;--bg-surface-raised: #334155;--bg-overlay: rgba(0, 0, 0, .6);--bg-sidebar: #1e293b;--bg-input: #1e293b;--bg-hover: #293548;--bg-subtle: #172033;--border-default: #334155;--border-strong: #475569;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #8593a6;--text-brand: var(--color-primary-400);--text-success: #34d399;--text-warning: #fbbf24;--color-warning: #fbbf24;--color-warning-light: rgba(217, 119, 6, .18);--color-danger: #f87171;--color-danger-light: rgba(220, 38, 38, .18);--color-info: #60a5fa;--color-info-light: rgba(37, 99, 235, .22);--text-info: #93c5fd;--color-purple: #a78bfa;--color-purple-light: rgba(139, 92, 246, .22);--text-purple: #c4b5fd;--shadow-xs: 0px 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0px 1px 2px rgba(0, 0, 0, .35), 0px 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0px 2px 4px -1px rgba(0, 0, 0, .35), 0px 4px 8px -1px rgba(0, 0, 0, .4);--shadow-lg: 0px 4px 6px -2px rgba(0, 0, 0, .3), 0px 12px 16px -4px rgba(0, 0, 0, .45);--shadow-xl: 0px 13px 64px -3px rgba(0, 0, 0, .5);--surface-glass: rgba(38, 51, 71, .72);--surface-glass-strong: rgba(30, 41, 59, .92);--border-translucent: rgba(255, 255, 255, .1)}.flex{display:flex}.flex-1{flex:1 1 0%}.gap-2{gap:var(--space-2)}.truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.w-full{width:100%}.min-w-0{min-width:0}.text-xs{font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.font-medium{font-weight:var(--font-weight-medium)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-danger{color:var(--color-danger)}.text-right{text-align:right}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.ml-auto{margin-left:auto}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.4}.badge--brand{background:var(--color-primary-100);color:var(--color-primary-800)}.badge--green{background:var(--color-secondary-100);color:var(--color-secondary-700)}.badge--blue{background:var(--color-accent-100);color:var(--color-accent-700)}.badge--warning{background:var(--color-warning-light);color:var(--color-warning)}.badge--danger{background:var(--color-danger-light);color:var(--color-danger)}.badge--muted{background:var(--bg-hover);color:var(--text-secondary)}[data-theme=dark] .badge--brand{background:color-mix(in srgb,var(--color-primary-600) 20%,transparent);color:var(--color-primary-300)}[data-theme=dark] .badge--green{background:#05966933;color:var(--color-secondary-400)}[data-theme=dark] .badge--blue{background:#2563eb33;color:var(--color-accent-400)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{height:100%;font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-base),color var(--transition-base)}vnt-root{display:flex;flex-direction:column;height:100%}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}p{line-height:var(--line-height-normal)}a{color:var(--color-brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit}input,select,textarea{font-size:var(--font-size-sm)}input:not([type=checkbox]):not([type=radio]):not([type=file]){height:36px}input,textarea,select{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--border-radius-sm);color:var(--text-primary);padding:var(--space-2) var(--space-3);width:100%;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input::placeholder,textarea::placeholder,select::placeholder{color:var(--text-muted)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-600) 20%,transparent)}input:disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed}select{appearance:none;-webkit-appearance:none;height:36px;padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M2 3.5 5 6.5 8 3.5' stroke='%2394a3b8' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:10px 10px}select:disabled{background-image:none}input[type=checkbox],input[type=radio]{accent-color:var(--color-brand);width:16px;height:16px;cursor:pointer}input[type=date],input[type=time],input[type=datetime-local]{color-scheme:light}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{background-color:transparent;cursor:pointer;padding:var(--space-1);margin-right:calc(var(--space-1) * -1);border-radius:var(--border-radius-sm);opacity:.65;transition:opacity var(--transition-fast),background-color var(--transition-fast)}input[type=date]:hover::-webkit-calendar-picker-indicator,input[type=time]:hover::-webkit-calendar-picker-indicator,input[type=datetime-local]:hover::-webkit-calendar-picker-indicator{opacity:1;background-color:var(--bg-hover)}input[type=date]:focus::-webkit-calendar-picker-indicator,input[type=time]:focus::-webkit-calendar-picker-indicator,input[type=datetime-local]:focus::-webkit-calendar-picker-indicator{opacity:1}input[type=date]:disabled::-webkit-calendar-picker-indicator,input[type=time]:disabled::-webkit-calendar-picker-indicator,input[type=datetime-local]:disabled::-webkit-calendar-picker-indicator{opacity:.3;cursor:not-allowed;background-color:transparent}input.field__input--error[type=date]::-webkit-calendar-picker-indicator,input.field__input--error[type=time]::-webkit-calendar-picker-indicator,input.field__input--error[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:1}[data-theme=dark] input[type=date],[data-theme=dark] input[type=time],[data-theme=dark] input[type=datetime-local]{color-scheme:dark}[data-theme=dark] input[type=date]:hover::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=time]:hover::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=datetime-local]:hover::-webkit-calendar-picker-indicator{background-color:#ffffff1f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--border-radius-sm);border:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.5;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);white-space:nowrap}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-600) 25%,transparent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-brand);color:var(--text-on-brand)}.btn--primary:hover:not(:disabled){background:var(--color-brand-hover)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn--outline{background:transparent;border:1px solid var(--border-default);color:var(--text-primary)}.btn--outline:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){background:#b91c1c}.btn--sm{min-height:28px;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn--icon{--btn-icon-size: 32px;width:var(--btn-icon-size);height:var(--btn-icon-size);padding:0;flex:0 0 auto;border-radius:var(--border-radius-sm)}.btn--ghost.btn--icon{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn--ghost.btn--icon:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.btn--bare.btn--icon{border-color:transparent;background:transparent}.btn--bare.btn--icon:hover:not(:disabled){border-color:transparent;background:var(--bg-hover)}.btn--outline.btn--danger{border-color:color-mix(in srgb,var(--color-danger) 40%,var(--border-default));color:var(--color-danger);background:transparent}.btn--outline.btn--danger:hover:not(:disabled){border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,transparent)}.btn--ghost.btn--danger{color:var(--color-danger);background:transparent}.btn--ghost.btn--danger:hover:not(:disabled),.btn--ghost.btn--danger:focus-visible{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,transparent)}:root[data-theme=dark] .btn--ghost.btn--danger:hover:not(:disabled),:root[data-theme=dark] .btn--ghost.btn--danger:focus-visible{background:color-mix(in srgb,var(--color-danger) 16%,transparent)}.btn--primary.btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn--primary.btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 86%,black)}.btn--ghost.btn--icon.row-action{color:var(--text-muted)}.btn--ghost.btn--icon.row-action:hover:not(:disabled),.btn--ghost.btn--icon.row-action:focus-visible{color:var(--text-brand);border-color:var(--color-primary-500);background:var(--color-primary-100)}.btn--ghost.btn--icon.row-action--danger:hover:not(:disabled),.btn--ghost.btn--icon.row-action--danger:focus-visible{border-color:color-mix(in srgb,var(--color-danger) 45%,transparent);color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 7%,var(--bg-surface))}:root[data-theme=dark] .btn--ghost.btn--icon.row-action:hover:not(:disabled),:root[data-theme=dark] .btn--ghost.btn--icon.row-action:focus-visible{background:color-mix(in srgb,var(--color-primary-600) 18%,transparent)}:root[data-theme=dark] .btn--ghost.btn--icon.row-action--danger:hover:not(:disabled),:root[data-theme=dark] .btn--ghost.btn--icon.row-action--danger:focus-visible{background:color-mix(in srgb,var(--color-danger) 16%,transparent)}.pop-menu{display:flex;flex-direction:column}.pop-menu__item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--border-radius-sm);background:transparent;color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);text-align:left;white-space:nowrap;cursor:pointer;transition:background var(--transition-fast)}.pop-menu__item svg{flex:0 0 auto;color:var(--text-muted)}.pop-menu__item:hover:not(:disabled),.pop-menu__item:focus-visible{background:var(--bg-hover)}.pop-menu__item:disabled{opacity:.5;cursor:default}.pop-menu__item--danger,.pop-menu__item--danger svg{color:var(--color-danger)}.pop-menu__item--danger:hover:not(:disabled),.pop-menu__item--danger:focus-visible{background:color-mix(in srgb,var(--color-danger) 8%,transparent)}.pop-menu__meta{margin-left:auto;padding-left:var(--space-3);color:var(--text-muted);font-size:var(--font-size-xs)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-600) 25%,transparent);position:relative;z-index:1}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);overflow:hidden}.card:has(.fsel__panel){overflow:visible;position:relative;z-index:5}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--border-radius-full);font-weight:var(--font-weight-semibold);flex-shrink:0;overflow:hidden;--avatar-hue: var(--color-primary-600);background-color:color-mix(in srgb,var(--avatar-hue) 25%,transparent);color:color-mix(in srgb,var(--avatar-hue) 42%,var(--text-primary))}.avatar--symbol{color:color-mix(in srgb,var(--avatar-hue) 55%,var(--text-primary))}.avatar__img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar--xs{width:24px;height:24px;font-size:10px}.avatar--sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar--md{width:40px;height:40px;font-size:var(--font-size-sm)}.avatar--lg{width:48px;height:48px;font-size:var(--font-size-base)}.avatar--xl{width:64px;height:64px;font-size:var(--font-size-lg)}.avatar--teal{background:var(--color-primary-100);color:var(--color-primary-800)}.avatar--green{background:var(--color-secondary-100);color:var(--color-secondary-700)}.avatar--blue{background:var(--color-accent-100);color:var(--color-accent-700)}.avatar--gray{background:var(--bg-hover);color:var(--text-secondary)}.avatar--orange{background:#ffedd5;color:#c2410c}[data-theme=dark] .avatar--teal{background:color-mix(in srgb,var(--color-primary-600) 20%,transparent);color:var(--color-primary-300)}[data-theme=dark] .avatar--green{background:#05966933;color:var(--color-secondary-400)}[data-theme=dark] .avatar--blue{background:#2563eb33;color:var(--color-accent-400)}[data-theme=dark] .avatar--orange{background:#c2410c33;color:#fb923c}.avatar img{width:100%;height:100%;object-fit:cover}.color-picker{display:flex;gap:var(--space-2);flex-wrap:wrap}.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.color-swatch:hover{transform:scale(1.15)}.color-swatch--active{border-color:var(--text-primary);transform:scale(1.1)}.search-input{position:relative;display:flex;align-items:center}.search-input .search-icon{position:absolute;left:var(--space-3);color:var(--text-muted);pointer-events:none;width:16px;height:16px}.search-input input{padding-left:calc(var(--space-3) * 2 + 16px);background:var(--bg-hover);border-color:transparent;border-radius:var(--border-radius-full);font-size:var(--font-size-sm)}.search-input input:focus{background:var(--bg-surface);border-color:var(--border-default);box-shadow:none}.search-input:has(.search-input__clear) input{padding-right:calc(var(--space-3) + 20px)}.search-input:has(.search-input__clear) input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.search-input__clear{position:absolute;right:6px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:var(--border-radius-full);background:var(--border-default);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.search-input__clear:hover{background:var(--text-muted);color:var(--text-inverse)}.search-input__clear:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-hover) 25%,var(--border-default) 50%,var(--bg-hover) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--border-radius-sm)}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--border-radius-full)}*::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-8);text-align:center;color:var(--text-muted);gap:var(--space-3)}.empty-state__icon{width:48px;height:48px;opacity:.4}.empty-state__title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.empty-state__description{font-size:var(--font-size-sm);max-width:320px}.vnt-tooltip{position:fixed;z-index:1000;max-width:min(320px,100vw - var(--space-6));padding:var(--space-1) var(--space-2);border-radius:var(--border-radius-sm);background:var(--text-primary);color:var(--text-inverse);border:1px solid transparent;font-size:var(--font-size-xs);line-height:1.45;box-shadow:var(--shadow-md);pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--transition-fast);white-space:normal;overflow-wrap:anywhere}:root[data-theme=dark] .vnt-tooltip,:root:not([data-theme=light]) .vnt-tooltip{background:var(--bg-surface-raised);color:var(--text-primary);border-color:var(--border-default)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .vnt-tooltip{background:var(--text-primary);color:var(--text-inverse);border-color:transparent}}.drawer-overlay{position:fixed;inset:0;background:var(--bg-overlay);z-index:200}.drawer{--drawer-actions-fade: 44px;position:fixed;top:0;right:0;bottom:0;width:60%;min-width:420px;max-width:min(1100px,100vw - var(--space-6));background:var(--bg-surface);border-left:1px solid var(--border-default);box-shadow:var(--shadow-lg);z-index:201;display:flex;flex-direction:column}.drawer--narrow{width:min(420px,100vw - var(--space-6));min-width:0}.drawer--side{width:30%;min-width:380px;max-width:560px}.drawer--wide{width:60%;min-width:560px;max-width:min(1280px,100vw - var(--space-6))}.drawer__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);flex-shrink:0}.drawer__header h3{margin:0;font-size:var(--font-size-lg)}.drawer__header p{margin:2px 0 0}.drawer__header>h3:first-child{flex:1;min-width:0}.drawer__header>.btn--icon:last-child{margin-left:auto;flex-shrink:0}.drawer__header--system{background:color-mix(in srgb,var(--color-brand) 6%,var(--bg-surface))}.drawer__body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.drawer__body::-webkit-scrollbar{width:6px;height:6px}.drawer__body::-webkit-scrollbar-track{background:transparent}.drawer__body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--border-radius-full)}.drawer__body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.drawer__section{display:flex;flex-direction:column;gap:var(--space-3)}.drawer__section h5{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.drawer__row{display:flex;gap:var(--space-3)}.drawer__row>*{flex:1;min-width:0}.drawer--wide{width:66%;min-width:560px;max-width:calc(100vw - var(--space-6))}@media(max-width:720px){.drawer,.drawer.drawer--wide,.drawer.drawer--side,.drawer.drawer--narrow{width:100vw;min-width:0;max-width:100vw;border-left:0}}.modal-overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--bg-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal{width:min(440px,100%);max-height:calc(100vh - var(--space-8));overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);border-radius:var(--border-radius-xl);border:1px solid var(--border-translucent);background:var(--glass-canvas);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);box-shadow:var(--shadow-xl);animation:modal-in var(--transition-base) both}.modal::-webkit-scrollbar{width:6px;height:6px}.modal::-webkit-scrollbar-track{background:transparent}.modal::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--border-radius-full)}.modal::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@supports not (backdrop-filter: blur(1px)){.modal{background:var(--bg-surface)}}.modal__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.modal__body{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary)}.modal__warning{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--border-radius-sm);background:var(--bg-hover);border-left:2px solid var(--color-warning);color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.5}.modal__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.is-inactive{visibility:hidden;pointer-events:none}.picker-list{display:flex;flex-direction:column;gap:var(--space-1);max-height:320px;overflow-y:auto;overscroll-behavior:contain}.picker-list::-webkit-scrollbar{width:6px;height:6px}.picker-list::-webkit-scrollbar-track{background:transparent}.picker-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--border-radius-full)}.picker-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.picker-list--fill,.drawer__body .picker-list,.cal-modal__body .picker-list{max-height:none;flex:1;min-height:0}.picker-list{padding-bottom:var(--space-2)}.picker-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--border-radius-sm)}.picker-item+.picker-item{border-top:1px solid var(--border-default);border-radius:0}.picker-item{background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;transition:background var(--transition-fast)}.picker-item:hover:not(:disabled){background:var(--bg-hover)}.picker-item:disabled{opacity:.6;cursor:default}.picker-item--selected{background:color-mix(in srgb,var(--color-brand) 12%,transparent)}.picker-item--asked:disabled{opacity:1;background:color-mix(in srgb,var(--color-brand) 10%,transparent)}.picker-item__meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.picker-item__meta .badge{font-size:10px;white-space:nowrap}.picker-empty{padding:var(--space-2) var(--space-3)}.btn--outline.btn--accent:not(.btn--danger){border-color:color-mix(in srgb,var(--color-primary-500) 55%,transparent);color:var(--text-brand)}.btn--outline.btn--accent:not(.btn--danger):hover:not(:disabled),.btn--outline.btn--accent:not(.btn--danger):focus-visible{border-color:var(--color-primary-500);background:color-mix(in srgb,var(--color-primary-500) 8%,transparent)}.btn--add{flex:0 0 auto;gap:var(--space-1)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.field__label--stacked{display:block}.field__label--stacked>*:last-child{display:block;margin-top:var(--space-2)}.field__label--inline{flex-direction:row;align-items:center;gap:var(--space-2);cursor:pointer}.field__label--inline input[type=checkbox]{width:16px;height:16px;cursor:pointer}.field__required{margin-left:2px;color:var(--color-danger);font-weight:var(--font-weight-semibold)}.field__optional{margin-left:var(--space-1);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular, 400)}.field__error{font-size:var(--font-size-xs);color:var(--color-danger)}.field__counter{align-self:flex-end;font-size:var(--font-size-xs);color:var(--text-muted)}.field__hint{font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.45}.field textarea{resize:vertical;min-height:64px;font-family:inherit}.field__label-note{margin-left:var(--space-1);font-weight:var(--font-weight-regular, 400);color:var(--text-muted)}.field__hint{display:block;margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--text-muted)}input.field__input--error,select.field__input--error,textarea.field__input--error,input.ng-invalid.ng-touched,select.ng-invalid.ng-touched,textarea.ng-invalid.ng-touched{border-color:var(--color-danger)}input.field__input--error:focus,select.field__input--error:focus,textarea.field__input--error:focus,input.ng-invalid.ng-touched:focus,select.ng-invalid.ng-touched:focus,textarea.ng-invalid.ng-touched:focus{box-shadow:0 0 0 3px #dc262626}input[type=checkbox].ng-invalid.ng-touched,input[type=radio].ng-invalid.ng-touched{border-color:initial}.drawer__section,.drawer .emp-card,.drawer .cap-panel{padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--border-radius-lg)}.drawer .emp-contact,.drawer .emp-spec,.drawer .ws-member-row,.drawer .cap-budgets__row--total{background:var(--bg-surface-raised)}[data-theme=dark] .drawer input:not([type=checkbox]):not([type=radio]),[data-theme=dark] .drawer select,[data-theme=dark] .drawer textarea{background-color:var(--bg-surface-raised);border-color:var(--border-strong)}[data-theme=dark] .drawer :is(.tp__field,.payseg__box,.payroll-rate-box) input:not([type=checkbox]):not([type=radio]){background-color:transparent;border-color:transparent}[data-theme=dark] .drawer .fsel__trigger,[data-theme=dark] .drawer .dp__trigger,[data-theme=dark] .drawer .tp__field{background:var(--bg-surface-raised);border-color:var(--border-strong)}:root{--glass-canvas: var(--surface-glass-strong);--glass-surface: var(--surface-glass);--glass-edge: rgba(255, 255, 255, .65);--glass-blur: var(--surface-blur)}[data-theme=dark]{--glass-edge: rgba(255, 255, 255, .1)}.drawer-overlay{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.drawer{background:var(--bg-page);border-left:1px solid var(--glass-edge)}.drawer__header{--drawer-header-fade: 32px;position:relative;z-index:2;background:transparent;box-shadow:inset 0 1px 0 var(--glass-edge)}.drawer__header:after{content:"";position:absolute;left:0;right:0;top:100%;height:var(--drawer-header-fade);pointer-events:none;background:linear-gradient(to bottom,var(--bg-page) 0%,transparent 100%)}.drawer__body>:first-child{margin-top:var(--space-2)}.drawer__section,.drawer .emp-card,.drawer .cap-panel{background:var(--glass-surface);border-color:var(--glass-edge);box-shadow:var(--shadow-sm),inset 0 1px 0 var(--glass-edge)}@supports not (backdrop-filter: blur(1px)){.drawer__section,.drawer .emp-card,.drawer .cap-panel{background:var(--bg-surface)}}.drawer__section:has(.fsel__panel),.drawer .emp-card:has(.fsel__panel),.drawer .cap-panel:has(.fsel__panel),.drawer__section:has(.cp__pop),.drawer .emp-card:has(.cp__pop){position:relative;z-index:5}.drawer__actions{--drawer-actions-fade: 44px;position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-5);margin:auto 0 0;background:var(--bg-page);border-top:none}.drawer__actions:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:var(--drawer-actions-fade);pointer-events:none;background:linear-gradient(to top,var(--bg-page) 0%,transparent 100%)}.drawer__body .drawer__actions{margin:auto calc(var(--space-5) * -1) calc(var(--space-5) * -1);bottom:calc(var(--space-5) * -1)}.drawer__body>:last-child:not(.drawer__actions){margin-bottom:var(--space-4)}.drawer__body:has(>.drawer__actions)>*:has(+.drawer__actions){margin-bottom:var(--drawer-actions-fade, 44px)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--border-radius);border:1px solid var(--border-default);background:var(--bg-hover);color:var(--text-primary);font-size:var(--font-size-sm)}.alert--error{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,transparent)}.alert--success{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,transparent)}.field__counter--full{color:var(--color-danger);font-weight:var(--font-weight-medium)}.topbar__theme-btn.btn--icon,.sidebar__collapse-btn.btn--icon{--btn-icon-size: 36px}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:none}}.modal-overlay,.drawer-overlay{animation:overlay-in var(--transition-fast) both}.drawer{animation:drawer-in var(--transition-base) both}.fsel__panel,.wsf__panel,.wsms__panel,.cp__pop{animation:popover-in var(--transition-fast) both}@media(prefers-reduced-motion:reduce){.modal,.modal-overlay,.drawer,.drawer-overlay,.fsel__panel,.wsf__panel,.wsms__panel,.cp__pop{animation:none}}.workspaces-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.workspaces-page__header{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-3) var(--space-6) var(--space-3);background:var(--bg-surface);border-bottom:1px solid var(--border-default);flex-shrink:0}.workspaces-page__toolbar>.workspaces-page__title-actions{margin-left:auto;flex:0 0 auto}.workspaces-page__title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:var(--space-3)}.drawer-overlay--stacked{z-index:202}.drawer--stacked{z-index:203}.cal-detail-panel__header{--drawer-header-fade: 32px;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);position:relative;z-index:2}.cal-detail-panel__header h3{margin:0;font-size:var(--font-size-lg)}.cal-detail-panel__header:after{content:"";position:absolute;left:0;right:0;top:100%;height:var(--drawer-header-fade);pointer-events:none;background:linear-gradient(to bottom,var(--bg-page) 0%,transparent 100%)}.cal-detail-panel__color-bar{width:4px;align-self:stretch;border-radius:2px;flex-shrink:0;min-height:40px}.cal-detail-panel__body{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.cal-detail-panel__body::-webkit-scrollbar{width:6px;height:6px}.cal-detail-panel__body::-webkit-scrollbar-track{background:transparent}.cal-detail-panel__body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--border-radius-full)}.cal-detail-panel__body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.cal-detail-panel__actions{--drawer-actions-fade: 44px;position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin:auto calc(var(--space-5) * -1) calc(var(--space-5) * -1);padding:var(--space-5);background:var(--bg-page)}.cal-detail-panel__actions:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:var(--drawer-actions-fade);pointer-events:none;background:linear-gradient(to top,var(--bg-page) 0%,transparent 100%)}.cal-detail-panel__body>:first-child{margin-top:var(--space-2)}.cal-detail-panel__body>:last-child:not(.cal-detail-panel__actions){margin-bottom:var(--space-4)}.cal-detail-panel__swap{margin-right:auto;gap:var(--space-2)}.field--unset{--fsel-trigger-color: var(--text-muted)}.field--unset>input,.field--unset>select,.field--unset>textarea{color:var(--text-muted)}.cal-modal__row,.drawer__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:560px){.cal-modal__row,.drawer__row{grid-template-columns:1fr}}.cal-modal__row--fit{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.cal-people__head{display:flex;flex-direction:column;gap:var(--space-2);flex-shrink:0}.cal-people__title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.cal-people__count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:var(--border-radius-full);background:var(--bg-hover);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-secondary)}.repeat-toggle{display:flex;gap:2px;padding:3px;border-radius:var(--border-radius);background:var(--bg-hover);border:1px solid var(--border-default)}.repeat-toggle__btn{flex:1;padding:var(--space-2) var(--space-3);border:none;border-radius:calc(var(--border-radius) - 4px);background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.repeat-toggle__btn:hover:not(.repeat-toggle__btn--active){background:var(--bg-hover);color:var(--text-primary)}.repeat-toggle__btn--active{background:color-mix(in srgb,var(--color-brand) 18%,transparent);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--color-brand)}.weekday-picker{display:flex;gap:var(--space-2);flex-wrap:wrap}.weekday-picker__day{flex:1 1 0;min-width:3.25rem;display:flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-1);border:1px solid var(--border-default);border-radius:var(--border-radius-sm);background:var(--bg-input);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.weekday-picker__day input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;margin:0}.weekday-picker__day:hover{background:var(--bg-hover);color:var(--text-primary)}.weekday-picker__day:has(input:checked){background:color-mix(in srgb,var(--color-brand) 18%,transparent);border-color:var(--color-brand);color:var(--text-primary)}.weekday-picker__day:has(input:focus-visible){outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-600) 25%,transparent)}.time-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-2)}.time-range__dash{color:var(--text-muted);font-size:var(--font-size-sm);-webkit-user-select:none;user-select:none}.repeat-interval,.repeat-monthly{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.repeat-interval select,.repeat-monthly select{width:auto;min-width:8rem}.repeat-interval__n{width:5rem;flex:0 0 auto}.repeat-interval__unit{font-size:var(--font-size-sm);color:var(--text-secondary)}.cal-overnight{flex:none;padding:0 var(--space-1);border-radius:var(--border-radius-sm);background:color-mix(in srgb,currentColor 16%,transparent);color:inherit;font-size:var(--font-size-2xs, var(--font-size-xs));font-weight:var(--font-weight-medium);line-height:1.5;opacity:.85;white-space:nowrap;cursor:default}.cal-overnight--wide{margin-left:var(--space-2);padding:0 var(--space-2)}
