@charset "UTF-8";:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-secondary-400: #a78bfa;--color-secondary-500: #8b5cf6;--color-secondary-600: #7c3aed;--color-secondary-700: #6d28d9;--color-checkbox: var(--color-auth-purple);--color-checkbox-hover: var(--color-auth-purple-dark);--color-checkbox-focus: rgba(139, 92, 246, .25);--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-500: #10b981;--color-success-600: #059669;--color-success-700: #047857;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-error-50: #fef2f2;--color-error-100: #fee2e2;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-error-700: #b91c1c;--color-info-50: #eff6ff;--color-info-100: #dbeafe;--color-info-500: #3b82f6;--color-info-600: #2563eb;--color-auth-purple: #8b5cf6;--color-auth-purple-dark: #7c3aed;--gradient-primary: linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-primary-700) 100%);--gradient-purple: linear-gradient(135deg, var(--color-auth-purple) 0%, var(--color-auth-purple-dark) 100%);--gradient-light: linear-gradient(135deg, var(--color-gray-50) 0%, var(--color-gray-200) 100%);--text-primary: var(--color-gray-900);--text-secondary: var(--color-gray-600);--text-tertiary: var(--color-gray-500);--text-disabled: var(--color-gray-400);--text-white: #ffffff;--bg-primary: #ffffff;--bg-secondary: var(--color-gray-50);--bg-tertiary: var(--color-gray-100);--bg-disabled: var(--color-gray-100);--bg-hover: var(--color-gray-50);--border-primary: var(--color-gray-200);--border-secondary: var(--color-gray-300);--border-hover: var(--color-gray-400);--border-focus: var(--color-primary-500);--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--form-gap-xs: var(--spacing-1);--form-gap-sm: var(--spacing-2);--form-gap-md: var(--spacing-3);--form-gap-lg: var(--spacing-5);--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "Monaco", "Menlo", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 4rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--radius-none: 0;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-3xl: 2rem;--radius-full: 9999px;--shadow-none: none;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--shadow-primary: 0 4px 15px rgba(59, 130, 246, .4);--shadow-primary-lg: 0 8px 25px rgba(59, 130, 246, .5);--shadow-success: 0 4px 15px rgba(16, 185, 129, .4);--shadow-warning: 0 4px 15px rgba(245, 158, 11, .4);--shadow-error: 0 4px 15px rgba(239, 68, 68, .4);--duration-75: 75ms;--duration-100: .1s;--duration-150: .15s;--duration-200: .2s;--duration-300: .3s;--duration-500: .5s;--duration-700: .7s;--duration-1000: 1s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--transition-fast: var(--duration-150) var(--ease-in-out);--transition-base: var(--duration-200) var(--ease-in-out);--transition-slow: var(--duration-300) var(--ease-in-out);--transition-all: all var(--duration-200) var(--ease-in-out);--z-0: 0;--z-10: 10;--z-20: 20;--z-30: 30;--z-40: 40;--z-50: 50;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--header-height: 80px;--header-bg: var(--bg-primary);--header-border: var(--border-primary);--sidebar-width: 280px;--sidebar-collapsed-width: 80px;--container-max-width: 1280px;--container-padding: var(--spacing-8);--color-background: var(--bg-secondary);--color-background-hover: var(--bg-hover);--color-surface: var(--bg-primary);--color-border: var(--border-primary);--color-border-hover: var(--border-hover);--color-text: var(--text-primary);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-tertiary: var(--text-tertiary);--color-primary: var(--color-primary-500);--color-success: var(--color-success-500);--color-error: var(--color-error-500);--color-error-bg: var(--color-error-50);--border-radius-sm: var(--radius-sm);--border-radius-md: var(--radius-md)}.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}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}*:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-normal);text-decoration:none;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-all);user-select:none;box-sizing:border-box}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-xs{padding:var(--spacing-1) var(--spacing-3);font-size:var(--text-xs);gap:var(--spacing-1)}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-sm);gap:var(--spacing-1)}.btn-md{padding:var(--spacing-3) var(--spacing-6);font-size:var(--text-base);gap:var(--spacing-2)}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--text-lg);gap:var(--spacing-2)}.btn-xl{padding:var(--spacing-5) var(--spacing-10);font-size:var(--text-xl);gap:var(--spacing-3)}.btn-primary{background:var(--color-primary-500);color:var(--text-white);border-color:transparent;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-600);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.btn-primary:active:not(:disabled){background:var(--color-primary-700);transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-primary-gradient{background:var(--gradient-primary);color:var(--text-white);border-color:transparent;box-shadow:var(--shadow-primary)}.btn-primary-gradient:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-800) 100%);transform:translateY(-2px);box-shadow:var(--shadow-primary-lg)}.btn-primary-gradient:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-primary)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-primary);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-secondary);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){background:var(--border-primary);transform:translateY(0)}.btn-outline{background:transparent;color:var(--text-primary);border-color:var(--border-secondary)}.btn-outline:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.btn-outline:active:not(:disabled){background:var(--bg-secondary)}.btn-outline-primary{background:transparent;color:var(--color-primary-600);border-color:var(--color-primary-500)}.btn-outline-primary:hover:not(:disabled){background:var(--color-primary-50);border-color:var(--color-primary-600);color:var(--color-primary-700)}.btn-ghost{background:transparent;color:var(--text-primary);border-color:transparent;box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--color-primary-600)}.btn-ghost:active:not(:disabled){background:var(--bg-secondary)}.btn-success{background:var(--color-success-500);color:var(--text-white);border-color:transparent;box-shadow:var(--shadow-sm)}.btn-success:hover:not(:disabled){background:var(--color-success-600);transform:translateY(-2px);box-shadow:var(--shadow-success)}.btn-success:active:not(:disabled){background:var(--color-success-700);transform:translateY(0)}.btn-warning{background:var(--color-warning-500);color:var(--text-white);border-color:transparent;box-shadow:var(--shadow-sm)}.btn-warning:hover:not(:disabled){background:var(--color-warning-600);transform:translateY(-2px);box-shadow:var(--shadow-warning)}.btn-warning:active:not(:disabled){background:var(--color-warning-600);transform:translateY(0)}.btn-danger{background:var(--color-error-500);color:var(--text-white);border-color:transparent;box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){background:var(--color-error-600);transform:translateY(-2px);box-shadow:var(--shadow-error)}.btn-danger:active:not(:disabled){background:var(--color-error-700);transform:translateY(0)}.btn-icon{padding:var(--spacing-2);aspect-ratio:1;border-radius:var(--radius-md)}.btn-icon.btn-sm{padding:var(--spacing-1)}.btn-icon.btn-lg{padding:var(--spacing-3)}.btn-icon.btn-xl{padding:var(--spacing-4)}.btn-full{width:100%;justify-content:center}.btn-group{display:inline-flex;gap:var(--spacing-2);align-items:center}.btn-group-attached{display:inline-flex;gap:0}.btn-group-attached .btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.btn-group-attached .btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-loading{position:relative;color:transparent;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);transition:var(--transition-all);box-sizing:border-box}.card:hover{box-shadow:var(--shadow-md)}.card-xs{padding:var(--spacing-3);border-radius:var(--radius-md)}.card-sm{padding:var(--spacing-4);border-radius:var(--radius-lg)}.card-md{padding:var(--spacing-6);border-radius:var(--radius-xl)}.card-lg{padding:var(--spacing-8);border-radius:var(--radius-2xl)}.card-xl{padding:var(--spacing-10);border-radius:var(--radius-2xl)}.card-bordered{border:2px solid var(--border-primary);box-shadow:none}.card-elevated{box-shadow:var(--shadow-lg);border:none}.card-elevated:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.card-flat{box-shadow:none;border:1px solid var(--border-primary)}.card-flat:hover{border-color:var(--border-secondary)}.card-primary{border-left:4px solid var(--color-primary-500)}.card-success{border-left:4px solid var(--color-success-500)}.card-warning{border-left:4px solid var(--color-warning-500)}.card-error{border-left:4px solid var(--color-error-500)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--border-primary)}.card-header h2,.card-header h3,.card-header h4{margin:0;color:var(--text-primary);font-weight:var(--font-semibold)}.card-header-actions{display:flex;gap:var(--spacing-2);align-items:center}.card-body{color:var(--text-primary);line-height:var(--leading-normal)}.card-body p:first-child{margin-top:0}.card-body p:last-child{margin-bottom:0}.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--border-primary)}.card-grid{display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card-grid-2{grid-template-columns:repeat(2,1fr)}.card-grid-3{grid-template-columns:repeat(3,1fr)}.card-grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.card-grid-4,.card-grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.card-grid,.card-grid-2,.card-grid-3,.card-grid-4{grid-template-columns:1fr}}.stat-card{display:flex;align-items:center;gap:var(--spacing-4);background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);transition:var(--transition-all)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--radius-lg);flex-shrink:0}.stat-card-icon.primary{background:var(--color-primary-50);color:var(--color-primary-500)}.stat-card-icon.success{background:var(--color-success-50);color:var(--color-success-500)}.stat-card-icon.warning{background:var(--color-warning-50);color:var(--color-warning-500)}.stat-card-icon.error{background:var(--color-error-50);color:var(--color-error-500)}.stat-card-content{flex:1;min-width:0}.stat-card-label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--spacing-1)}.stat-card-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight)}.stat-card-change{font-size:var(--text-sm);margin-top:var(--spacing-1)}.stat-card-change.positive{color:var(--color-success-600)}.stat-card-change.negative{color:var(--color-error-600)}.card-clickable{cursor:pointer;transition:var(--transition-all)}.card-clickable:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-hover)}.card-clickable:active{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-image{border-radius:var(--radius-xl);overflow:hidden}.card-image img{width:100%;height:auto;display:block}.card-image-top{margin:calc(var(--spacing-6) * -1);margin-bottom:var(--spacing-4);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.card-empty{text-align:center;padding:var(--spacing-12) var(--spacing-8);background:var(--bg-secondary);border:2px dashed var(--border-secondary);border-radius:var(--radius-xl)}.card-empty-icon{font-size:var(--text-5xl);margin-bottom:var(--spacing-4);opacity:.5}.card-empty h3{font-size:var(--text-xl);color:var(--text-primary);margin-bottom:var(--spacing-2)}.card-empty p{color:var(--text-secondary);margin-bottom:var(--spacing-6)}.form-group{margin-bottom:var(--spacing-4)}.form-group label{display:block;margin-bottom:var(--spacing-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.form-group label.required:after{content:" *";color:var(--color-error-500)}.form-hint{display:block;margin-top:var(--spacing-1);font-size:var(--text-xs);color:var(--text-secondary)}.form-error{display:block;margin-top:var(--spacing-1);font-size:var(--text-xs);color:var(--color-error-600);font-weight:var(--font-medium)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-3) var(--spacing-4);font-size:var(--text-base);font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:var(--transition-all);box-sizing:border-box}.form-input:hover,.form-textarea:hover,.form-select:hover{border-color:var(--border-secondary)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--color-primary-100)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background:var(--bg-disabled);color:var(--text-disabled);cursor:not-allowed;opacity:.6}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-input-sm{padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-sm)}.form-input-lg{padding:var(--spacing-4) var(--spacing-5);font-size:var(--text-lg)}.form-input-wrapper{position:relative;display:flex;align-items:center}.form-input-icon-left{position:absolute;left:var(--spacing-4);color:var(--text-tertiary);pointer-events:none}.form-input-icon-right{position:absolute;right:var(--spacing-4);color:var(--text-tertiary);pointer-events:none}.form-input-wrapper .form-input{padding-left:var(--spacing-12)}.form-input-wrapper.icon-right .form-input{padding-right:var(--spacing-12);padding-left:var(--spacing-4)}.form-textarea{resize:vertical;min-height:100px;line-height:var(--leading-normal)}.form-textarea-fixed{resize:none}.form-select{cursor:pointer;padding-right:var(--spacing-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-4) center;background-size:12px;appearance:none}.form-select:disabled{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M6 9L1 4h10z'/%3E%3C/svg%3E")}.form-checkbox,.form-radio{display:inline-flex;align-items:center;gap:var(--spacing-2);cursor:pointer;user-select:none}.form-checkbox input[type=checkbox],.form-radio input[type=radio]{width:1.125rem;height:1.125rem;border:2px solid var(--border-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-all);appearance:none;background:var(--bg-primary);position:relative;flex-shrink:0}.form-radio input[type=radio]{border-radius:var(--radius-full)}.form-checkbox input[type=checkbox]:checked{background:var(--color-checkbox);border-color:var(--color-checkbox)}.form-checkbox input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.form-radio input[type=radio]:checked{background:var(--color-primary-500);border-color:var(--color-primary-500)}.form-radio input[type=radio]:checked:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;background:#fff;border-radius:var(--radius-full);transform:translate(-50%,-50%)}.form-checkbox input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px var(--color-checkbox-focus)}.form-radio input[type=radio]:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-100)}.form-checkbox input[type=checkbox]:disabled,.form-radio input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.form-checkbox label,.form-radio label{font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.form-switch{display:inline-flex;align-items:center;gap:var(--spacing-3);cursor:pointer;user-select:none}.form-switch input[type=checkbox]{position:relative;width:2.75rem;height:1.5rem;appearance:none;background:var(--color-gray-300);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-all);flex-shrink:0}.form-switch input[type=checkbox]:before{content:"";position:absolute;left:2px;top:2px;width:1.25rem;height:1.25rem;background:#fff;border-radius:var(--radius-full);transition:var(--transition-all);box-shadow:var(--shadow-sm)}.form-switch input[type=checkbox]:checked{background:var(--color-primary-500)}.form-switch input[type=checkbox]:checked:before{transform:translate(1.25rem)}.form-switch input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-100)}.form-switch input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.form-switch label{font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.form-group.error .form-input,.form-group.error .form-textarea,.form-group.error .form-select{border-color:var(--color-error-500)}.form-group.error .form-input:focus,.form-group.error .form-textarea:focus,.form-group.error .form-select:focus{border-color:var(--color-error-500);box-shadow:0 0 0 3px var(--color-error-100)}.form-group.success .form-input,.form-group.success .form-textarea,.form-group.success .form-select{border-color:var(--color-success-500)}.form-group.success .form-input:focus,.form-group.success .form-textarea:focus,.form-group.success .form-select:focus{border-color:var(--color-success-500);box-shadow:0 0 0 3px var(--color-success-100)}.form-inline{display:flex;gap:var(--spacing-4);align-items:flex-end}.form-inline .form-group{flex:1;margin-bottom:0}.form-grid{display:grid;gap:var(--spacing-4);grid-template-columns:repeat(2,1fr)}@media(max-width:640px){.form-grid{grid-template-columns:1fr}.form-inline{flex-direction:column;align-items:stretch}.form-inline .form-group{margin-bottom:var(--spacing-4)}.form-inline .form-group:last-child{margin-bottom:0}}.form-file-input{display:none}.form-file-label{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);cursor:pointer;transition:var(--transition-all)}.form-file-label:hover{background:var(--bg-tertiary);border-color:var(--border-secondary)}.form-file-name{display:inline-block;margin-left:var(--spacing-3);font-size:var(--text-sm);color:var(--text-secondary)}.page-container{width:100%;max-width:100vw;min-height:calc(100vh - var(--header-height));padding:var(--spacing-8);box-sizing:border-box;overflow-x:hidden}.page-container-sm{padding:var(--spacing-6)}.page-container-lg{padding:var(--spacing-12)}.page-container-gradient{background:var(--gradient-light)}.page-container-secondary{background:var(--bg-secondary)}.page-container-constrained{max-width:var(--container-max-width);margin:0 auto}.page-header{margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--border-primary)}.page-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);flex-wrap:wrap}.page-header-title h1{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--spacing-2) 0;line-height:var(--leading-tight)}.page-header-subtitle{color:var(--text-secondary);font-size:var(--text-base);margin:0;line-height:var(--leading-normal)}.page-header-actions{display:flex;align-items:center;gap:var(--spacing-3);flex-shrink:0}@media(max-width:640px){.page-header-content{flex-direction:column;align-items:stretch}.page-header-actions{width:100%;justify-content:flex-start}.page-header-title h1{font-size:var(--text-3xl)}}.section{margin-bottom:var(--spacing-12)}.section:last-child{margin-bottom:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6)}.section-title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.section-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--spacing-1)}.section-actions{display:flex;gap:var(--spacing-2);align-items:center}.grid{display:grid;gap:var(--spacing-6)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-auto-fill{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.gap-sm{gap:var(--spacing-3)}.gap-md{gap:var(--spacing-6)}.gap-lg{gap:var(--spacing-8)}@media(max-width:1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.layout-with-sidebar{display:grid;grid-template-columns:var(--sidebar-width) 1fr;gap:var(--spacing-8);min-height:calc(100vh - var(--header-height))}.sidebar{background:var(--bg-primary);border-radius:var(--radius-2xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);height:fit-content;position:sticky;top:var(--spacing-8)}.sidebar-content{flex:1;min-width:0}@media(max-width:1024px){.layout-with-sidebar{grid-template-columns:1fr}.sidebar{position:static}}.divider{height:1px;background:var(--border-primary);margin:var(--spacing-6) 0;border:none}.divider-vertical{width:1px;height:auto;background:var(--border-primary);margin:0 var(--spacing-6)}.stack{display:flex;flex-direction:column}.stack>*+*{margin-top:var(--spacing-4)}.stack-sm>*+*{margin-top:var(--spacing-2)}.stack-lg>*+*{margin-top:var(--spacing-6)}.stack-xl>*+*{margin-top:var(--spacing-8)}.center-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height));padding:var(--spacing-8)}.panel{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm)}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--border-primary)}.panel-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.panel-body{color:var(--text-primary)}.panel-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3);margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--border-primary)}@media(max-width:640px){.hide-mobile{display:none!important}}@media(max-width:1024px){.hide-tablet{display:none!important}}.show-mobile{display:none!important}@media(max-width:640px){.show-mobile{display:block!important}}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;width:100%;overflow-x:hidden;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-secondary)}#root{width:100%;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--text-primary)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin:0;line-height:var(--leading-normal)}a{color:var(--color-primary-600);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--color-primary-700);text-decoration:underline}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--color-success-600)}.text-warning{color:var(--color-warning-600)}.text-error{color:var(--color-error-600)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-auth-purple) 0%,var(--color-auth-purple-dark) 100%);padding:var(--spacing-4)}.auth-card{background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);padding:var(--spacing-8);width:100%;max-width:420px;position:relative;overflow:hidden}.auth-card.register{max-width:520px}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-auth-purple) 0%,var(--color-auth-purple-dark) 100%)}.auth-header{text-align:center;margin-bottom:var(--spacing-6)}.auth-logo{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.logo-icon{width:32px;height:32px;color:var(--color-auth-purple)}.auth-header h1{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.auth-header h2{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--spacing-2) 0}.auth-header p{color:var(--text-secondary);font-size:var(--text-base);margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--form-gap-sm)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--form-gap-xs);margin-bottom:var(--form-gap-sm)!important}.auth-form .form-group{display:flex;flex-direction:column;gap:var(--form-gap-xs);margin-bottom:var(--form-gap-sm)!important}.form-group label{font-weight:var(--font-medium);color:var(--text-primary);font-size:var(--text-sm)}.input-field{width:100%}.input-field input,.password-field input,.password-input input{width:100%;padding:var(--spacing-4) var(--spacing-4);border:2px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-base);transition:var(--transition-all);background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box;line-height:1.5}.input-field input:focus,.password-field input:focus,.password-input input:focus{outline:none;border-color:var(--color-auth-purple);box-shadow:0 0 0 3px #667eea26}.input-field input.error,.password-field input.error,.password-input input.error{border-color:var(--color-error-500);box-shadow:var(--shadow-error)}.input-field input:disabled,.password-field input:disabled,.password-input input:disabled{background-color:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed;opacity:.6}.input-field input::placeholder,.password-field input::placeholder,.password-input input::placeholder{color:var(--text-muted);opacity:.7}.password-field,.password-input{position:relative}.password-field input,.password-input input{width:100%;padding-right:44px!important}.password-toggle{position:absolute!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-sm);transition:var(--transition-colors);z-index:10;display:flex!important;align-items:center!important;justify-content:center!important;width:32px;height:32px;margin:0;line-height:1}.password-toggle:hover{color:var(--color-auth-purple)}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.error-text,.error-message{color:var(--color-error-500)!important;font-size:var(--text-sm);margin-top:var(--spacing-1);margin-left:0!important;padding:0!important;background:none!important;border:none!important;text-align:left!important}.error-banner{background:var(--color-error-50);border:1px solid var(--color-error-200);color:var(--color-error-600);padding:var(--spacing-3);border-radius:var(--radius-md);font-size:var(--text-sm);text-align:center}.info-banner{background:var(--color-info-50);border:1px solid var(--color-info-100);color:var(--color-info-600);padding:var(--spacing-3);border-radius:var(--radius-md);font-size:var(--text-sm);text-align:center}.form-options{display:flex;justify-content:space-between;align-items:center;gap:var(--form-gap-xs);margin:0}.checkbox-label{display:flex;align-items:center;gap:0;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;user-select:none;line-height:1.5}.terms-agreement{margin:0;padding:0}.terms-text{flex:1;line-height:1.5}.checkbox-label input[type=checkbox]{width:20px;height:20px;min-width:20px;max-width:20px;min-height:20px;max-height:20px;border:2px solid #d1d5db;border-radius:6px;cursor:pointer;margin:0 10px 0 0!important;padding:0;flex-shrink:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;transition:all .15s ease;position:relative;box-sizing:border-box;vertical-align:middle}.checkbox-label input[type=checkbox]:hover:not(:disabled){border-color:var(--color-auth-purple);background:#667eea08}.checkbox-label input[type=checkbox]:checked{background-color:var(--color-auth-purple);border-color:var(--color-auth-purple)}.checkbox-label input[type=checkbox]:checked:after{content:"";position:absolute;top:2px;left:6px;width:4px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px #667eea26}.checkbox-label input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.radio-group{display:flex;flex-direction:column;gap:var(--spacing-3);margin-top:var(--spacing-1)}.radio-label{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;user-select:none;padding:var(--spacing-4);border:2px solid var(--border-primary);border-radius:var(--radius-lg);transition:all .15s ease;background:var(--bg-primary);position:relative;min-height:70px}.radio-label:hover:not(:has(input[type=radio]:disabled)){border-color:var(--color-auth-purple);background:#667eea08}.radio-label input[type=radio]{width:20px;height:20px;min-width:20px;max-width:20px;min-height:20px;max-height:20px;border:2px solid #d1d5db;border-radius:50%;cursor:pointer;margin:0;padding:0;flex-shrink:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;transition:all .15s ease;position:relative;box-sizing:border-box}.radio-label input[type=radio]:hover:not(:disabled){border-color:var(--color-auth-purple)}.radio-label input[type=radio]:checked{border-color:var(--color-auth-purple);background-color:#fff}.radio-label input[type=radio]:checked:after{content:"";display:block;width:10px;height:10px;border-radius:50%;background:var(--color-auth-purple);position:absolute;top:3px;left:3px}.radio-label input[type=radio]:focus{outline:none;box-shadow:0 0 0 3px #667eea26}.radio-label input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.radio-label:has(input[type=radio]:checked){border-color:var(--color-auth-purple);background:#667eea0f}.radio-label-content{flex:1;display:flex;flex-direction:column;gap:4px}.radio-label-title{font-weight:600;color:var(--text-primary);font-size:15px;line-height:1.3}.radio-label-description{font-size:13px;color:var(--text-secondary);line-height:1.4;font-weight:400}.link-button{background:none;border:none;color:var(--color-auth-purple);font-size:var(--text-sm);cursor:pointer;text-decoration:none;padding:0;transition:var(--transition-colors)}.link-button:hover{color:var(--color-primary-600);text-decoration:underline}.link-button:disabled{cursor:not-allowed;opacity:.5}.link{color:var(--color-auth-purple);text-decoration:none}.link:hover{text-decoration:underline}.auth-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-6);border-radius:var(--radius-md);font-weight:var(--font-semibold);font-size:var(--text-base);transition:var(--transition-all);cursor:pointer;border:none;margin-top:var(--form-gap-xs);width:100%}.auth-button.primary{background:linear-gradient(135deg,var(--color-auth-purple) 0%,var(--color-auth-purple-dark) 100%);color:var(--text-white);box-shadow:0 4px 12px #667eea4d}.auth-button.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.auth-button.primary:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.auth-footer{text-align:center;margin-top:var(--form-gap-sm);padding-top:var(--form-gap-xs);border-top:1px solid var(--border-secondary)}.auth-footer p{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.demo-credentials{margin-top:var(--form-gap-lg);padding:var(--form-gap-md);background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-secondary)}.demo-credentials h4{margin:0 0 var(--spacing-3) 0;font-size:var(--text-sm);color:var(--text-primary);text-align:center}.demo-credentials p{margin:var(--spacing-1) 0;font-size:var(--text-xs);color:var(--text-secondary);font-family:monospace}.animate-spin{animation:spin 1s linear infinite}@media(max-width:640px){.auth-container{padding:var(--spacing-2)}.auth-card{padding:var(--spacing-6);margin:var(--spacing-2)}.form-row{grid-template-columns:1fr}.form-options{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}.auth-header h1{font-size:var(--text-2xl)}.auth-header h2{font-size:var(--text-xl)}}.org-switcher{position:relative;z-index:1000}.org-switcher-button{display:flex;align-items:center;gap:.5rem;padding:var(--spacing-2) var(--spacing-3);background:#fff;border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;transition:all .2s;min-width:200px}.org-switcher-button:hover{border-color:var(--color-auth-purple);box-shadow:0 2px 4px #0000001a}.org-info{flex:1;text-align:left}.org-name{font-weight:var(--font-medium);color:var(--text-primary);font-size:.9rem}.org-plan{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.org-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 10px 25px #00000026;z-index:1001;margin-top:4px;max-height:400px;overflow-y:auto}.org-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:var(--spacing-3) var(--spacing-4);cursor:pointer;transition:background-color .2s;border:none;width:100%;text-align:left;background:none}.org-dropdown-item:hover{background-color:var(--bg-secondary)}.org-dropdown-item.active{background-color:var(--color-primary-50);color:var(--color-primary-700)}.org-dropdown-divider{height:1px;background-color:var(--border-primary);margin:var(--spacing-1) 0}.create-org-button{display:flex;align-items:center;gap:.5rem;padding:var(--spacing-3) var(--spacing-4);color:var(--color-auth-purple);font-weight:var(--font-medium);border:none;background:none;cursor:pointer;width:100%;text-align:left;transition:background-color .2s}.create-org-button:hover{background-color:var(--bg-secondary)}.otp-input-group{display:flex;justify-content:center;gap:8px;margin:24px 0}.otp-input{width:48px;height:56px;text-align:center;font-size:24px;font-weight:600;border:2px solid var(--border-secondary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s,box-shadow .2s;outline:none}.otp-input:focus{border-color:var(--color-primary, #4f46e5);box-shadow:0 0 0 3px #4f46e526}.otp-input-error{border-color:var(--color-error, #dc2626)}.otp-input-error:focus{box-shadow:0 0 0 3px #dc262626}.otp-actions{text-align:center;margin-top:16px}.otp-resend-text{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.otp-cooldown{color:var(--text-tertiary);font-size:var(--text-sm)}.auth-link-button{background:none;border:none;color:var(--color-primary, #4f46e5);cursor:pointer;font-size:var(--text-sm);font-weight:500;padding:0;display:inline-flex;align-items:center;gap:4px}.auth-link-button:hover{text-decoration:underline}.auth-link-button:disabled{opacity:.5;cursor:not-allowed}.slide-panel-overlay{position:fixed;inset:0;background:#0000004d;z-index:10000;display:flex;justify-content:flex-end}.slide-panel{height:100%;background:var(--bg-primary);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;animation:slideIn .2s ease-out}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.slide-panel-small{width:400px;max-width:100vw}.slide-panel-medium{width:600px;max-width:100vw}.slide-panel-large{width:720px;max-width:100vw}.slide-panel-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-6) var(--spacing-6) var(--spacing-4);border-bottom:1px solid var(--border-primary);flex-shrink:0;gap:var(--spacing-4)}.slide-panel-header-left{display:flex;flex-direction:column;gap:var(--spacing-1);flex:1}.slide-panel-title{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0}.slide-panel-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.slide-panel-close-btn{width:32px;height:32px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:var(--radius-md);flex-shrink:0}.slide-panel-close-btn:hover{background:var(--bg-secondary)}.slide-panel-content{flex:1;overflow-y:auto;padding:var(--spacing-6)}.slide-panel-footer{padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary);display:flex;justify-content:flex-end;gap:var(--spacing-3)}.slide-panel-form-group{margin-bottom:var(--spacing-5)}.slide-panel-form-group label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-2)}.slide-panel-form-group input[type=text],.slide-panel-form-group input[type=email],.slide-panel-form-group input[type=date],.slide-panel-form-group input[type=number],.slide-panel-form-group textarea,.slide-panel-form-group select{width:100%;padding:var(--spacing-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-primary);font-family:inherit}.slide-panel-form-group textarea{resize:vertical;min-height:100px}.slide-panel-form-group input:focus,.slide-panel-form-group textarea:focus,.slide-panel-form-group select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-primary-100)}.slide-panel-form-group small{display:block;font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--spacing-1)}.slide-panel-btn{padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:var(--spacing-2);transition:all .15s}.slide-panel-btn-primary{background:var(--gradient-primary);color:#fff}.slide-panel-btn-primary:hover:not(:disabled){box-shadow:var(--shadow-primary)}.slide-panel-btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-primary)}.slide-panel-btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.slide-panel-btn-danger{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}.slide-panel-btn-danger:hover:not(:disabled){background:#fecaca;border-color:#fca5a5}.slide-panel-btn:disabled{opacity:.5;cursor:not-allowed}.connection-indicator{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-secondary, #666);padding:.25rem .5rem}.connection-dot{width:8px;height:8px;border-radius:50%}.connection-connecting .connection-dot{background-color:var(--color-warning, #f59e0b);animation:pulse 1s ease-in-out infinite}.connection-reconnecting .connection-dot{background-color:var(--color-error, #ef4444);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.header{display:grid;grid-template-columns:minmax(auto,200px) 1fr minmax(auto,520px);align-items:center;gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-4);background:var(--header-bg);border-bottom:1px solid var(--header-border);box-shadow:var(--shadow-sm);width:100%;max-width:100vw;box-sizing:border-box;overflow:visible;position:relative;z-index:1000}.mobile-menu-button{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:var(--transition-all);z-index:1001}.mobile-menu-button:hover{background:var(--bg-hover);border-color:var(--color-primary-500);color:var(--color-primary-600)}@media(max-width:1800px){.header{gap:var(--spacing-1);padding:var(--spacing-3) var(--spacing-3)}}@media(max-width:1700px){.header{grid-template-columns:minmax(150px,180px) 1fr minmax(380px,480px)}}@media(max-width:1600px){.header{grid-template-columns:minmax(140px,170px) 1fr minmax(340px,440px);gap:var(--spacing-1)}}@media(max-width:1500px){.header{grid-template-columns:minmax(130px,160px) 1fr minmax(320px,420px)}}@media(max-width:1400px){.header{grid-template-columns:minmax(150px,180px) 1fr minmax(360px,460px);gap:var(--spacing-2)}}@media(max-width:1200px){.header{grid-template-columns:minmax(120px,160px) 1fr minmax(320px,420px);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4)}}@media(max-width:1024px){.header{grid-template-columns:minmax(100px,140px) 1fr minmax(280px,380px);gap:var(--spacing-2)}}@media(max-width:900px){.header{grid-template-columns:auto 1fr auto;gap:var(--spacing-2)}}.header-brand{display:flex;align-items:center;gap:var(--spacing-3);min-width:0}.brand-icon{color:var(--color-primary-500);flex-shrink:0}.header-brand h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1200px){.header-brand h1{font-size:var(--text-xl)}}@media(max-width:900px){.header-brand h1{display:none}}.header-org{grid-column:2;grid-row:1;max-width:250px;z-index:100}@media(max-width:1200px){.header-org{max-width:200px}}@media(max-width:900px){.header-org{max-width:150px}}.header-nav{grid-column:2;grid-row:1;display:flex;align-items:center;gap:2px;flex-shrink:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding:var(--spacing-1) 0;max-width:100%;justify-content:flex-start}@media(max-width:1700px){.header-nav{gap:1px}}@media(max-width:1400px){.header-nav{gap:0}}.nav-link{display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-2);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:var(--transition-all);font-weight:var(--font-medium);white-space:nowrap;flex-shrink:0;font-size:var(--text-xs);min-width:0}@media(max-width:1800px){.nav-link{padding:var(--spacing-1) var(--spacing-2)}.nav-link span{font-size:.8rem}}@media(max-width:1700px){.nav-link{padding:var(--spacing-1) calc(var(--spacing-2) * .85)}}@media(max-width:1600px){.nav-link{padding:var(--spacing-1) calc(var(--spacing-2) * .75)}.nav-link span{font-size:.75rem}}@media(max-width:1500px){.nav-link{padding:var(--spacing-1) calc(var(--spacing-1) * 1.5)}}@media(max-width:1400px){.nav-link{padding:var(--spacing-1) var(--spacing-2);gap:var(--spacing-1)}.nav-link span{font-size:.75rem;white-space:nowrap}}@media(max-width:1000px){.nav-link span{display:none}.nav-link{padding:var(--spacing-1);min-width:36px;justify-content:center}}.nav-link:hover{color:var(--color-primary-600);background-color:var(--bg-hover)}.nav-link.active{color:var(--color-primary-600);background-color:var(--color-primary-50)}.nav-link span{font-size:var(--text-sm)}.kiosk-link{background:var(--gradient-purple);color:var(--text-white)!important;border-radius:var(--radius-md);margin-left:var(--spacing-2);font-weight:var(--font-semibold)}.kiosk-link:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190)!important;color:var(--text-white)!important;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.header-user{position:relative;justify-self:end;min-width:0;grid-column:3;grid-row:1;display:flex;align-items:center;gap:var(--spacing-3)}.header-user-menu{position:relative}.header-settings-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;transition:var(--transition-all);flex-shrink:0}.header-settings-link:hover{background:var(--bg-hover);border-color:var(--color-primary-500);color:var(--color-primary-600)}.header-settings-link.active{background-color:var(--color-primary-50);border-color:var(--color-primary-200);color:var(--color-primary-600)}.header-org-switcher .org-switcher-button{min-width:220px;max-width:280px}.header-org-switcher .org-info{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.header-org-switcher .org-name,.header-org-switcher .org-plan{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1800px){.header-org-switcher .org-switcher-button{min-width:200px}}@media(max-width:1700px){.header-org-switcher .org-switcher-button{min-width:180px}}@media(max-width:1600px){.header-org-switcher .org-switcher-button{min-width:160px}}@media(max-width:1500px){.header-org-switcher .org-switcher-button{min-width:140px}}.user-menu-trigger{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:none;border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-all);max-width:100%;overflow:hidden;white-space:nowrap}.user-menu-trigger:hover{background:var(--bg-hover);border-color:var(--color-primary-500)}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.user-avatar-placeholder{width:32px;height:32px;border-radius:var(--radius-full);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.user-avatar-initials{display:flex;align-items:center;justify-content:center;line-height:1;font-weight:var(--font-semibold);font-size:.85rem;text-transform:uppercase}.user-name{font-weight:var(--font-medium);color:var(--text-primary);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}@media(max-width:1400px){.user-name{max-width:100px}}@media(max-width:1200px){.user-name{max-width:80px}}@media(max-width:1024px){.user-name{max-width:60px}.user-menu-trigger{padding:var(--spacing-2)}}.user-menu-dropdown{position:absolute;top:100%;right:0;width:240px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-dropdown);margin-top:var(--spacing-2);overflow:hidden;animation:slideDown var(--duration-200) var(--ease-out)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--bg-secondary)}.user-menu-avatar,.user-menu-avatar-placeholder{width:36px;height:36px;border-radius:var(--radius-full);flex-shrink:0}.user-menu-avatar{object-fit:cover}.user-menu-avatar-placeholder{background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.user-menu-header .user-info{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0}.user-info .user-name-full{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-base)}.user-info .user-email{color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--spacing-1)}.user-menu-divider{height:1px;background:var(--border-primary)}.user-menu-item{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-3) var(--spacing-4);background:none;border:none;text-align:left;cursor:pointer;transition:var(--transition-base);color:var(--text-primary);font-size:var(--text-sm)}.user-menu-item:hover{background:var(--bg-secondary)}.user-menu-item.logout{color:var(--color-error-600)}.user-menu-item.logout:hover{background:var(--color-error-50)}@media(max-width:768px){.header{grid-template-columns:auto 1fr auto auto;grid-template-rows:auto;gap:var(--spacing-3);padding:var(--spacing-4)}.header-brand{justify-self:start;grid-column:1;grid-row:1}.mobile-menu-button{display:flex;grid-column:2;grid-row:1;justify-self:end}.header-nav{display:none}.header-nav.mobile-open{position:fixed;inset:0;background:#00000080;z-index:999;display:flex;align-items:flex-start;justify-content:flex-start;padding-top:80px}.header-nav.mobile-open>div{background:var(--bg-primary);width:100%;max-width:300px;border-radius:0 var(--radius-lg) var(--radius-lg) 0;box-shadow:var(--shadow-lg);padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-3)}.header-nav.mobile-open .nav-link{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:var(--transition-all);font-weight:var(--font-medium);white-space:nowrap;font-size:var(--text-base);border:1px solid transparent}.header-nav.mobile-open .nav-link span{display:block!important;font-size:var(--text-base)}.header-nav.mobile-open .nav-link:hover{color:var(--color-primary-600);background-color:var(--bg-hover);border-color:var(--color-primary-200)}.header-nav.mobile-open .nav-link.active{color:var(--color-primary-600);background-color:var(--color-primary-50);border-color:var(--color-primary-300)}.header-user{justify-self:end;grid-column:4;grid-row:1;gap:var(--spacing-1)}.user-menu-trigger{padding:var(--spacing-2)}.header-org-switcher .org-switcher-button{min-width:120px;max-width:180px}}.header-notifications{position:relative;display:flex;align-items:center}.notifications-trigger{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:var(--transition-all)}.notifications-trigger:hover{background:var(--bg-hover);border-color:var(--color-primary-500);color:var(--color-primary-600)}.notifications-trigger.has-notifications{color:var(--color-primary-600)}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;background:var(--color-error-500);color:#fff;font-size:10px;font-weight:var(--font-bold);border-radius:9px;display:flex;align-items:center;justify-content:center;border:2px solid var(--header-bg);box-shadow:0 2px 4px #0003}.notifications-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:400px;max-height:600px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:1001;overflow:hidden;display:flex;flex-direction:column}.notifications-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.notifications-header h3{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.notification-count{font-size:var(--text-sm);color:var(--text-secondary)}.notification-info{padding:var(--spacing-3) var(--spacing-4);background:var(--color-primary-50);border-bottom:1px solid var(--border-primary)}.unread-info{margin:0;font-size:var(--text-sm);color:var(--color-primary-700);font-weight:var(--font-medium)}.notifications-list{overflow-y:auto;max-height:540px}.notifications-loading,.notifications-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);gap:var(--spacing-3);color:var(--text-secondary)}.notifications-loading .spinner{animation:spin 1s linear infinite}.notifications-empty svg{opacity:.3}.notifications-empty p{margin:0;color:var(--text-secondary)}.notification-item{display:flex;gap:var(--spacing-3);padding:var(--spacing-4);border-bottom:1px solid var(--border-primary);transition:var(--transition-fast)}.notification-item:hover{background:var(--bg-hover)}.notification-item:last-child{border-bottom:none}.notification-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-100);color:var(--color-primary-600);border-radius:var(--radius-md)}.notification-content{flex:1;min-width:0}.notification-title{font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--spacing-1)}.notification-details{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--spacing-1);display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap}.notification-meta{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--spacing-2);display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap}.notification-separator{color:var(--text-tertiary)}.notification-message{font-size:var(--text-sm);color:var(--text-secondary);font-style:italic;margin:var(--spacing-2) 0;padding:var(--spacing-2);background:var(--bg-secondary);border-left:3px solid var(--color-primary-400);border-radius:var(--radius-sm)}.notification-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-3)}.notification-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);border:1px solid;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-fast)}.notification-btn:disabled{opacity:.5;cursor:not-allowed}.notification-btn.accept{background:var(--color-success-500);color:#fff;border-color:var(--color-success-600)}.notification-btn.accept:hover:not(:disabled){background:var(--color-success-600);transform:translateY(-1px)}.notification-btn.reject{background:var(--bg-primary);color:var(--color-danger-600);border-color:var(--color-danger-300)}.notification-btn.reject:hover:not(:disabled){background:var(--color-danger-50);border-color:var(--color-danger-400);transform:translateY(-1px)}.notification-btn .spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.notifications-dropdown{width:calc(100vw - 32px);right:-16px}}.project-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:300px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:1000;display:flex;flex-direction:column;max-height:400px}.project-dropdown-header{padding:var(--spacing-2);border-bottom:1px solid #e5e7eb}.project-search{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid #e5e7eb;border-radius:4px;font-size:14px;outline:none;color:#000}.project-search:focus{border-color:#3b82f6}.project-search::placeholder{color:#9ca3af}.project-dropdown-list{overflow-y:auto;max-height:350px}.project-dropdown-item{padding:10px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background-color .15s}.project-dropdown-item:hover{background-color:#f9fafb}.project-dropdown-item.selected{background-color:#eff6ff}.project-dropdown-item.no-project{border-bottom:1px solid #e5e7eb}.project-item-content{display:flex;align-items:center;gap:10px}.project-name{font-size:14px;color:#111827}.check-icon{color:#3b82f6;flex-shrink:0}.project-dropdown-empty{padding:24px;text-align:center;color:#6b7280}.project-dropdown-empty p{margin:0 0 4px;font-size:14px;font-weight:500;color:#374151}.project-dropdown-empty span{font-size:13px;color:#9ca3af}.tag-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:280px;max-width:400px;z-index:1000}.tag-dropdown-header{padding:var(--spacing-3);border-bottom:1px solid var(--border-primary)}.tag-search-input{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);outline:none;transition:border-color .2s}.tag-search-input:focus{border-color:var(--border-focus)}.tag-dropdown-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.clear-tags-btn{background:none;border:none;color:var(--color-primary-600);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;padding:var(--spacing-1) 0;transition:color .2s}.clear-tags-btn:hover{color:var(--color-primary-700)}.save-tags-btn{background:var(--color-primary-500);border:none;color:#fff;font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-md);transition:background-color .2s}.save-tags-btn:hover{background:var(--color-primary-600)}.tag-dropdown-list{max-height:400px;overflow-y:auto}.tag-dropdown-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--border-primary)}.tag-dropdown-item:last-child{border-bottom:none}.tag-dropdown-item:hover{background-color:var(--bg-hover)}.tag-dropdown-item.selected{background-color:var(--color-primary-50)}.tag-checkbox{width:18px;height:18px;border:2px solid var(--border-secondary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.tag-dropdown-item.selected .tag-checkbox{background-color:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.tag-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.tag-name{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-medium);flex:1}.tag-scope,.tag-scope-org{font-size:.75rem;color:var(--text-tertiary);font-weight:400;margin-left:.25rem}.tag-scope{color:var(--color-primary-600)}.tag-dropdown-empty{padding:var(--spacing-6) var(--spacing-4);text-align:center;color:var(--text-tertiary);font-size:var(--text-sm)}.tag-dropdown-list::-webkit-scrollbar{width:6px}.tag-dropdown-list::-webkit-scrollbar-track{background:var(--bg-secondary)}.tag-dropdown-list::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:var(--radius-full)}.tag-dropdown-list::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.datetime-picker-wrapper{position:absolute;top:100%;left:0;z-index:1000;margin-top:4px}.datetime-picker{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:16px;min-width:300px}.datetime-picker-header{display:flex;align-items:center;gap:8px;color:#666;font-size:14px;font-weight:500;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.datetime-picker-inputs{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.input-group{display:flex;flex-direction:column;gap:4px}.input-group label{font-size:12px;font-weight:500;color:#666}.datetime-input{padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.datetime-input:hover{border-color:silver}.datetime-input:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 2px #4285f41a}.datetime-picker-error{color:#d93025;font-size:12px;margin-bottom:12px}.datetime-picker-actions{display:flex;justify-content:flex-end;gap:8px}.datetime-picker-actions button{padding:6px 16px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-cancel{background:transparent;color:#666}.btn-cancel:hover{background:#f5f5f5}.btn-save{background:#4285f4;color:#fff}.btn-save:hover{background:#3367d6}.btn-save:active{background:#2851a3}.time-24h{-webkit-locale:"en-GB"}.time-24h::-webkit-datetime-edit-ampm-field{display:none!important}.time-24h::-webkit-datetime-edit{color:inherit}input[type=time]:lang(en-GB){format:"24hour"}.time-inputs{display:flex;align-items:center;gap:4px}.time-part-input{width:60px;text-align:center;padding:8px 4px!important}.time-part-input::-webkit-outer-spin-button,.time-part-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.time-part-input[type=number]{-moz-appearance:textfield;appearance:textfield}.time-inputs .time-separator{color:#666;font-weight:500;user-select:none}.project-select-dropdown{position:relative;width:100%}.project-select-wrapper{position:relative;display:block;width:100%;max-width:100%}.project-select-wrapper select{width:100%;max-width:100%;padding:.75rem 2.5rem .75rem .75rem;background:var(--bg-primary, white);border:1px solid var(--border-primary, #e5e7eb);border-radius:.5rem;font-size:.875rem;color:var(--color-text, #111827);cursor:pointer;transition:var(--transition-base, all .15s ease);appearance:none;-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box}.project-select-wrapper select:hover{background:var(--bg-secondary, #f9fafb);border-color:var(--border-secondary, #d1d5db)}.project-select-wrapper select:focus{outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}.project-select-wrapper .select-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary, #9ca3af);pointer-events:none}.project-select-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:var(--bg-primary, white);border:1px solid var(--border-primary, #e5e7eb);border-radius:var(--radius-md, .375rem);font-size:.875rem;color:var(--color-text, #111827);cursor:pointer;transition:var(--transition-base, all .15s ease)}.project-select-button:hover:not(.disabled){background:var(--bg-secondary, #f9fafb);border-color:var(--border-secondary, #d1d5db)}.project-select-button:focus{outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}.project-select-button.disabled{opacity:.5;cursor:not-allowed}.project-select-content{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.project-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.project-name{font-weight:var(--font-medium, 500);color:var(--color-text, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-placeholder{color:var(--color-text-secondary, #6b7280)}.project-select-arrow{color:var(--color-text-tertiary, #9ca3af);transition:transform .15s ease;flex-shrink:0}.project-select-arrow.open{transform:rotate(180deg)}.project-select-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border-primary, #e5e7eb);border-radius:var(--radius-md, .375rem);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:1000;max-height:300px;display:flex;flex-direction:column}.project-search-header{padding:.75rem;border-bottom:1px solid var(--border-primary, #e5e7eb)}.project-search-input{width:100%;padding:.5rem .75rem;border:1px solid var(--border-primary, #e5e7eb);border-radius:var(--radius-sm, .25rem);font-size:.875rem;outline:none}.project-search-input:focus{border-color:var(--color-primary, #3b82f6)}.project-options-list{overflow-y:auto;max-height:250px}.project-option{display:flex;align-items:center;justify-content:space-between;padding:.75rem;cursor:pointer;transition:background-color .15s ease}.project-option:hover{background-color:var(--bg-secondary, #f9fafb)}.project-option.selected{background-color:var(--bg-primary-light, #eff6ff)}.project-option.no-project{border-bottom:1px solid var(--border-primary, #e5e7eb)}.project-option-content{display:flex;align-items:center;gap:.75rem;flex:1}.check-icon{color:var(--color-primary, #3b82f6);flex-shrink:0}.project-options-empty{padding:1.5rem;text-align:center;color:var(--color-text-secondary, #6b7280)}.project-options-empty p{margin:0 0 .25rem;font-size:.875rem;font-weight:var(--font-medium, 500);color:var(--color-text, #374151)}.project-options-empty span{font-size:.8125rem}.timer-input{width:100%;background:var(--color-surface);padding:var(--spacing-5) var(--spacing-8);border-bottom:1px solid var(--color-border)}.timer-input.timer-running{background:var(--color-surface)}.timer-input-container{display:flex;align-items:center;gap:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:0;transition:all .2s;max-width:1400px;margin:0 auto;min-height:48px}.timer-input-container:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.timer-input-field{flex:1;min-width:0;display:flex;align-items:center;border-right:1px solid var(--color-border)}.description-input{width:100%;padding:var(--spacing-3) var(--spacing-4);font-size:14px;font-weight:400;border:none;background:transparent;color:var(--color-text)!important;outline:none;height:48px;line-height:1.5}.description-input::placeholder{color:var(--color-text-tertiary)!important;font-weight:400;opacity:1}.description-input:disabled{background:transparent;cursor:text;opacity:1}.timer-controls{display:flex;align-items:center;gap:0;height:100%}.control-btn{display:flex;align-items:center;justify-content:center;gap:0;padding:0 var(--spacing-3);height:100%;background:transparent;border:none;border-right:1px solid var(--color-border);color:var(--color-text-tertiary);font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap;min-width:48px}.control-btn:hover:not(:disabled){background:var(--color-background);color:var(--color-primary)}.control-btn.active{background:transparent;color:var(--color-primary);font-weight:500}.control-btn .project-color-dot{flex-shrink:0}.control-btn svg{flex-shrink:0}.project-btn{display:flex;align-items:center;gap:var(--spacing-1);height:auto;background:transparent;cursor:pointer;transition:all .15s;white-space:nowrap;font-size:13px;margin-left:var(--spacing-3);padding:0;border:none;border-right:1px solid var(--color-border);padding-right:var(--spacing-3)}.project-btn.project-empty{color:var(--color-primary)}.project-btn.project-empty:hover{color:var(--color-primary-600)}.project-btn.project-empty svg{color:var(--color-primary);stroke-width:2.5}.project-btn.project-empty:hover svg{color:var(--color-primary-600)}.project-btn.project-selected{color:var(--color-text)}.project-btn.project-selected:hover{opacity:.8}.project-btn .project-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.project-btn .project-name{font-weight:var(--font-medium);color:var(--color-text);max-width:150px;overflow:hidden;text-overflow:ellipsis}.project-btn .project-placeholder{font-weight:var(--font-normal)}.control-btn:disabled{opacity:.5;cursor:not-allowed}.control-btn svg{display:block}.control-btn .tag-count{position:absolute;top:8px;right:8px;background:var(--color-primary-500);color:#fff;font-size:10px;font-weight:var(--font-bold);min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.count-badge{display:none}.timer-action{display:flex;align-items:center;gap:0;height:100%;min-height:48px}.timer-display{display:flex;align-items:center;justify-content:center;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:16px;font-weight:400;color:var(--color-text);min-width:85px;text-align:center;letter-spacing:.5px;font-variant-numeric:tabular-nums;user-select:none;padding:0 16px;margin:0!important;border-right:1px solid var(--color-border);height:100%}.timer-running .timer-display{color:var(--color-primary)}.timer-btn{display:flex;align-items:center;justify-content:center;gap:0;padding:12px 28px!important;height:46px;background:var(--color-primary);color:#fff;border:none;border-radius:4px;font-size:13px!important;font-weight:700;letter-spacing:1px;cursor:pointer;transition:all .2s;white-space:nowrap;text-transform:uppercase;margin:2px 6px;min-width:90px!important;box-shadow:0 2px 4px #3b82f633}.timer-btn:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 8px #3b82f64d}.timer-btn:active:not(:disabled){transform:scale(.98)}.timer-btn.stop{background:#ef4444;box-shadow:0 2px 4px #ef444433}.timer-btn.stop:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 8px #ef44444d}.timer-btn:disabled{opacity:.6;cursor:not-allowed}.timer-btn svg{width:10px;height:10px}.menu-btn{border-left:none;border-right:none!important;padding:0 14px!important;min-width:48px!important}.timer-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 12px #0000001a;min-width:180px;z-index:1000;padding:4px 0}.timer-menu-dropdown .menu-item{width:100%;padding:10px 16px;background:transparent;border:none;text-align:left;font-size:14px;color:var(--color-text);cursor:pointer;transition:background .15s;display:block}.timer-menu-dropdown .menu-item:hover{background:var(--color-background)}.menu-btn:hover:not(:disabled){background:var(--color-background);color:var(--color-text)}@media(max-width:1024px){.timer-input-container{flex-wrap:wrap;height:auto}.timer-input-field{flex-basis:100%;border-right:none;border-bottom:1px solid var(--color-border);height:48px}.timer-controls{flex:1}}@media(max-width:768px){.timer-input{padding:16px}.timer-controls{flex-wrap:wrap}.control-btn .control-label{display:none}.timer-display{font-size:16px;min-width:70px}.timer-btn{padding:0 16px;font-size:10px}}.presence-indicator{display:inline-flex;align-items:center;gap:6px}.presence-indicator.presence-overlay{position:absolute;top:-1px;right:-1px;gap:0}.presence-dot{display:inline-block;border-radius:50%;flex-shrink:0;border:2px solid #fff}.presence-sm .presence-dot{width:10px;height:10px}.presence-md .presence-dot{width:12px;height:12px}.presence-lg .presence-dot{width:14px;height:14px}.presence-online{background-color:#22c55e;box-shadow:0 0 4px #22c55e80}.presence-idle{background-color:#f59e0b;box-shadow:0 0 4px #f59e0b66}.presence-offline{background-color:#9ca3af}.presence-last-seen,.presence-status-text{font-size:.75rem;color:var(--text-secondary, #6b7280);white-space:nowrap}.time-entry-item{position:relative;display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--color-border);transition:background .15s;min-height:52px;flex-wrap:nowrap;z-index:1}.time-entry-item:hover,.time-entry-item:focus-within{background:var(--color-background);z-index:100}.entry-content{flex:1 1 auto;min-width:0;display:flex;flex-direction:row;align-items:center;gap:3px;flex-wrap:nowrap}.entry-user-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-semibold);font-size:9px;flex-shrink:0;box-shadow:0 1px 2px #0000001a;position:relative}.entry-description{flex:1 1 auto;font-size:14px;color:var(--color-text);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4;min-width:100px}.description-text{cursor:pointer;padding:4px 6px;border-radius:var(--radius-sm);transition:background .15s}.description-text:hover{background:var(--color-background)}.description-input{width:100%;padding:4px 8px;border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--color-text);background:var(--color-background);outline:none;box-shadow:0 0 0 2px #6366f11a}.description-input::placeholder{color:var(--color-text-tertiary)}.no-description{color:var(--color-text-tertiary);font-style:italic;font-weight:400}.entry-metadata{display:flex;align-items:center;gap:6px;flex-shrink:0;justify-content:flex-start;flex-wrap:nowrap}.project-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:var(--radius-sm);color:#fff;font-size:11px;font-weight:600;text-transform:capitalize;line-height:1.2;max-width:110px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;text-align:center}.project-badge.clickable{cursor:pointer;transition:opacity .15s,transform .1s}.project-badge.clickable:hover{opacity:.9;transform:translateY(-1px)}.project-badge.clickable:active{transform:translateY(0)}.project-badge.no-project{background:var(--color-gray-200)!important;color:var(--color-text-secondary);border:1px dashed var(--color-gray-400)}.project-editing{position:relative;z-index:10}.task-badge{display:inline-flex;align-items:center;justify-content:flex-start;padding:3px 8px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:11px;color:var(--color-text-secondary);font-weight:500;line-height:1.2;max-width:90px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}n.tags-container{n position: relative;n display: inline-block;n}nn.tags-editing{n position: absolute;n top: 0;n left: 0;n z-index: 1000;n min-width: 280px;n}nn.tags{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:11px;color:var(--color-text-secondary);max-width:140px;min-width:0;overflow:hidden;cursor:pointer;transition:background .15s,border-color .15s}.tags:hover{background:var(--color-background-subtle);border-color:var(--color-border-hover)}.tags.na{color:var(--color-text-tertiary);font-style:italic}.tags-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tags-editing{position:relative;z-index:100}.billable-badge{display:inline-flex;align-items:center;justify-content:center;justify-self:center;width:18px;height:18px;padding:0;background:var(--color-background);border:1px solid var(--color-border);border-radius:4px;color:var(--color-success-700);font-size:10px;font-weight:700}.billable-badge.is-empty{visibility:hidden}.billable-icon{line-height:1}.entry-times{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:nowrap}.time-field-wrapper{position:relative;display:flex;align-items:center;gap:4px;min-height:32px;flex-shrink:0}.time-field{position:relative;display:flex;align-items:center}.calendar-icon-btn{background:transparent;border:none;padding:4px;cursor:pointer;color:#999;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0;width:24px;height:24px}.calendar-icon-btn:hover{background:#f5f5f5;color:#4285f4}.calendar-icon-btn:active{background:#e8e8e8}.time-display{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--color-text);background:transparent;border:1px solid transparent;border-radius:4px;padding:5px 8px;cursor:pointer;transition:all .15s;min-width:75px;width:75px;text-align:center;white-space:nowrap;display:inline-block}.time-display:hover{background:var(--color-background);border-color:var(--color-border)}.time-display.running{color:var(--color-primary);font-weight:600;width:auto;min-width:75px}.time-separator{color:var(--color-text-tertiary);font-size:13px;font-weight:500;flex-shrink:0;user-select:none}.entry-duration{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--color-text);min-width:80px;text-align:right;letter-spacing:-.01em;flex-shrink:0}.entry-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--color-text-tertiary);cursor:pointer;transition:all .15s}.action-btn svg{width:20px;height:20px}.action-btn:hover{background:var(--color-background);border-color:var(--color-border);color:var(--color-text)}.continue-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.stop-btn{color:#dc2626}.stop-btn:hover{background:#fef2f2;border-color:#dc2626;color:#dc2626}.menu-wrapper{position:relative;z-index:100}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:4px;min-width:140px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:10000;overflow:hidden}.menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:transparent;border:none;color:var(--color-text);font-size:13px;text-align:left;cursor:pointer;transition:background .2s}.menu-item:hover{background:var(--color-background-hover)}.menu-item:first-child{color:var(--color-error-600)}@media(max-width:1024px){.time-entry-item{flex-wrap:wrap}.entry-content{flex-basis:100%;flex-wrap:wrap}.entry-metadata{flex-wrap:wrap;margin-left:0;max-width:100%}.entry-times,.entry-duration,.entry-actions{flex-shrink:0}}@media(max-width:768px){.time-entry-item{padding:12px 16px;gap:12px}.entry-duration{min-width:70px;font-size:14px}.time-display{font-size:12px;padding:3px 6px}}.time-entry-list{display:flex;flex-direction:column;gap:0;padding:var(--spacing-8);max-width:1200px;margin:0 auto}.entry-group{background:var(--color-surface);border-radius:6px;overflow:visible;border:1px solid var(--color-border);margin-bottom:12px}.group-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-5);background:var(--color-background);border-bottom:1px solid var(--color-border)}.group-date{margin:0;font-size:14px;font-weight:600;color:var(--color-text);letter-spacing:-.01em}.group-total{display:flex;align-items:center;gap:var(--spacing-2)}.total-label{font-size:13px;color:var(--color-text-tertiary);font-weight:400}.total-duration{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--color-text);letter-spacing:-.01em}.entries{display:flex;flex-direction:column}.grand-total{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:16px 20px;background:var(--color-surface);border-radius:6px;border:1px solid var(--color-border);margin-top:12px}.grand-total-label{font-size:14px;font-weight:600;color:var(--color-text)}.grand-total-duration{font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--color-primary);letter-spacing:-.01em}@media(max-width:768px){.group-header{padding:12px 16px}.group-date{font-size:14px}.total-label{font-size:12px}.total-duration{font-size:13px}.grand-total{padding:16px}.grand-total-label{font-size:14px}.grand-total-duration{font-size:18px}}.date-range-picker{display:flex;gap:1rem;align-items:center}.date-input-group{display:flex;align-items:center;gap:.5rem}.date-input-group label{font-weight:var(--font-semibold);color:var(--text-primary);font-size:.875rem;white-space:nowrap}.date-input{padding:.5rem;border:1px solid var(--border-primary);border-radius:.375rem;background:#fff;font-size:.875rem;min-width:140px;transition:border-color .2s ease}.date-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}@media(max-width:768px){.date-range-picker{flex-direction:column;align-items:flex-start;width:100%}.date-input-group{width:100%}.date-input{flex:1;min-width:0}}.time-tracker-page{width:100%;min-height:100vh;background-color:var(--color-background);overflow-y:auto}.time-tracker-container{max-width:100%;margin:0 auto;padding:0}.timer-section{margin-bottom:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.period-filters-section{background:var(--bg-primary);padding:var(--spacing-6);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);max-width:1200px;margin:16px auto;display:flex;align-items:center;gap:var(--spacing-8);flex-wrap:wrap;border:1px solid var(--border-primary)}.period-filters label{display:flex;align-items:center;gap:var(--spacing-2);font-weight:var(--font-semibold);color:var(--text-primary);font-size:14px}.custom-date-range-inline{display:flex;align-items:center;gap:12px}.filter-button{padding:var(--spacing-2) var(--spacing-4);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-all);white-space:nowrap;font-size:13px}.filter-button:hover{color:var(--text-primary);background:var(--bg-tertiary)}.user-filter-section{position:relative;display:flex;align-items:center;gap:var(--spacing-4);flex-wrap:wrap}.user-filter-label{display:flex;align-items:center;gap:var(--spacing-2);font-weight:var(--font-semibold);color:var(--text-primary);font-size:14px;white-space:nowrap}.user-avatars-filter{display:flex;align-items:center;gap:var(--spacing-1);flex-wrap:wrap}.user-avatar-filter{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-semibold);font-size:11px;border:2px solid transparent;cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:var(--shadow-sm);position:relative}.user-avatar-filter:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.user-avatar-filter.selected{border-color:#fff;box-shadow:0 0 0 2px var(--color-primary-500)}.clear-user-filter{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary);cursor:pointer;transition:all .2s ease;font-size:16px;font-weight:var(--font-bold);flex-shrink:0;margin-left:var(--spacing-2)}.clear-user-filter:hover{background:var(--color-error);color:#fff;border-color:var(--color-error);transform:scale(1.1)}.more-users-button{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);cursor:pointer;transition:all .2s ease;font-size:11px;font-weight:var(--font-semibold);flex-shrink:0}.more-users-button:hover{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500);transform:scale(1.05)}.user-filter-dropdown{position:absolute;top:calc(100% + 8px);left:0;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:280px;max-height:400px;display:flex;flex-direction:column;z-index:1000}.user-filter-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--border-primary);font-weight:var(--font-semibold);color:var(--text-primary);font-size:14px}.dropdown-clear-all{background:none;border:none;color:var(--color-primary-500);cursor:pointer;font-size:12px;font-weight:var(--font-medium);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);transition:background-color .2s ease}.dropdown-clear-all:hover{background:var(--bg-secondary)}.user-filter-dropdown-list{overflow-y:auto;max-height:320px;padding:var(--spacing-2)}.user-filter-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease}.user-filter-item:hover{background:var(--bg-secondary)}.user-filter-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary-500)}.user-filter-item-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-semibold);font-size:11px;flex-shrink:0}.user-filter-item-name{flex:1;color:var(--text-primary);font-size:14px;font-weight:var(--font-medium);display:flex;align-items:center;gap:var(--spacing-2)}.you-badge{font-size:11px;color:var(--text-secondary);font-weight:var(--font-normal)}.date-range-nav{display:flex;justify-content:center;align-items:center;padding:20px 32px;background:var(--color-surface);border-bottom:1px solid var(--color-border);max-width:1200px;margin:0 auto}.date-range-text{display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:var(--color-text);padding:8px 16px}.today-btn{padding:8px 18px;height:36px;background:var(--color-background);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.today-btn:hover{background:var(--color-background-hover);border-color:var(--color-primary)}.date-range-text{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;background:var(--color-background);border:1px solid var(--color-border);border-radius:6px;font-size:15px;font-weight:500;color:var(--color-text);letter-spacing:-.01em;min-width:220px;text-align:center}@media(max-width:768px){.date-range-nav{grid-template-columns:auto 1fr;column-gap:12px;padding:16px 20px}.date-range-controls{grid-column:1}.date-range-nav .today-btn{grid-column:2}.date-range-text{min-width:180px;font-size:14px}}.error-message{display:flex;align-items:center;gap:12px;padding:12px 24px;margin:0;background:var(--color-error-bg, #fee);border-bottom:1px solid var(--color-error, #f44);color:var(--color-error, #f44);font-size:14px}.error-message svg{flex-shrink:0}.error-message button{margin-left:auto;background:none;border:none;font-size:20px;color:inherit;cursor:pointer;padding:0 4px}.entries-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:16px}.entries-wrapper{position:relative}.entries-loading-overlay{position:absolute;inset:0;display:flex;justify-content:stretch;align-items:stretch;padding:0;background:var(--color-surface);z-index:100}.entries-loading-overlay .time-entry-list{width:100%}.time-entry-list-skeleton{opacity:1}.time-entry-item.skeleton:hover{background:transparent}.skeleton-block,.skeleton-pill,.skeleton-chip,.skeleton-icon{border-radius:6px;border:1px solid var(--color-border);background:linear-gradient(90deg,var(--color-background) 0%,var(--color-background-hover) 50%,var(--color-background) 100%);background-size:200% 100%;animation:shimmer 1.1s ease-in-out infinite}.skeleton-block{height:14px}.skeleton-pill{height:18px;border-radius:var(--radius-sm)}.skeleton-chip{height:24px;border-radius:4px}.skeleton-icon{width:32px;height:32px;border-radius:4px}.sk-desc{width:260px;max-width:32vw}.sk-pill-project{width:74px}.sk-pill-task{width:60px}.sk-pill-tags{width:140px}.sk-time{width:64px}.sk-duration{width:52px}.sk-group-date{width:92px}.sk-total-label{width:44px;height:12px}.sk-total-duration{width:44px}.sk-grand-label{width:90px}.sk-grand-duration{width:64px;height:18px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.entries-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:entries-spin .8s linear infinite}@keyframes entries-spin{to{transform:rotate(360deg)}}.entries-loading span{color:var(--color-text-secondary);font-size:14px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.empty-state svg{color:var(--color-text-tertiary);margin-bottom:16px}.empty-state h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--color-text)}.empty-state p{margin:0;font-size:14px;color:var(--color-text-secondary)}@media(max-width:768px){.date-range-nav{padding:12px 16px}.date-range-text{font-size:14px}.period-filters-section{flex-direction:column;align-items:flex-start;gap:var(--spacing-4);margin:12px 16px;padding:var(--spacing-4)}.period-filters{width:100%;flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.filter-buttons{width:100%;flex-wrap:wrap}.filter-button{flex:1;min-width:calc(50% - var(--spacing-1))}.user-filter-section{width:100%;flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.user-avatars-filter{width:100%}.user-avatar-filter,.more-users-button{width:30px;height:30px;font-size:10px}.clear-user-filter{width:26px;height:26px;font-size:12px}.user-filter-dropdown{left:0;right:0;min-width:auto;width:calc(100vw - 32px);margin:0 16px}}.page-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, var(--border-primary))}.header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.header-title h1{font-size:2rem;font-weight:var(--font-semibold);color:var(--text-primary, #111827);margin:0 0 .5rem}.header-subtitle{color:var(--text-secondary, var(--text-secondary));font-size:.95rem;margin:0;line-height:1.4}.header-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.header-actions button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:var(--font-medium);border-radius:.375rem;border:1px solid transparent;transition:all .15s ease-in-out;cursor:pointer;white-space:nowrap}.header-actions .primary-button,.header-actions .add-button,.header-actions .add-entry-button{background-color:var(--primary-color, var(--color-primary-500));color:#fff;border-color:var(--primary-color, var(--color-primary-500))}.header-actions .primary-button:hover,.header-actions .add-button:hover,.header-actions .add-entry-button:hover{background-color:var(--primary-hover, var(--color-primary-600));border-color:var(--primary-hover, var(--color-primary-600))}.header-actions .secondary-button,.header-actions .export-button{background-color:#fff;color:var(--text-primary, var(--text-primary));border-color:var(--border-color, var(--border-primary))}.header-actions .secondary-button:hover,.header-actions .export-button:hover{background-color:var(--bg-hover, var(--bg-secondary));border-color:var(--border-hover, var(--color-gray-400))}.header-actions button:disabled{opacity:.5;cursor:not-allowed}.header-actions button:disabled:hover{background-color:var(--bg-disabled, var(--bg-secondary));border-color:var(--border-color, var(--border-primary))}.header-extra{margin-top:1rem}@media(max-width:768px){.header-content{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-start;flex-wrap:wrap}.header-title h1{font-size:1.75rem}}@media(max-width:480px){.page-header{margin-bottom:1.5rem}.header-title h1{font-size:1.5rem}.header-actions button{padding:.5rem .75rem;font-size:.8rem}}.projects-page{min-height:100vh;background:var(--gradient-light);padding:var(--spacing-8);width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden}.add-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-8);background:var(--gradient-primary);color:var(--text-white);border:none;border-radius:var(--radius-xl);font-weight:var(--font-bold);font-size:var(--text-base);cursor:pointer;transition:var(--transition-all);box-shadow:var(--shadow-primary);transform:translateY(0)}.add-button:hover{background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-800) 100%);transform:translateY(-2px);box-shadow:var(--shadow-primary-lg)}.add-button:active{transform:translateY(0);box-shadow:var(--shadow-primary)}.empty-state{text-align:center;padding:var(--spacing-24) var(--spacing-12);background:var(--bg-primary);border-radius:var(--radius-3xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-primary);position:relative;overflow:hidden}.empty-state:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary-500),var(--color-secondary-500),var(--color-warning-500))}.empty-state h3{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--spacing-4) 0}.empty-state h3:before{content:"🎯";display:block;font-size:var(--text-6xl);margin-bottom:var(--spacing-4)}.empty-state p{color:var(--text-secondary);margin:0 0 var(--spacing-12) 0;font-size:var(--text-xl);line-height:var(--leading-relaxed)}.create-first-button{display:inline-flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-1) var(--spacing-4);justify-content:center;background:var(--gradient-primary);color:var(--text-white);border:none;border-radius:var(--radius-lg);font-weight:var(--font-bold);font-size:calc(var(--text-xs) * 1.5);cursor:pointer;transition:var(--transition-all);box-shadow:var(--shadow-primary-lg);transform:translateY(0)}.create-first-button__content{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--spacing-3);padding:8px 0}.create-first-button__icon{display:flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;font-size:1.5em;line-height:1}.create-first-button__text{display:flex;align-items:center;line-height:1;padding-right:var(--spacing-2)}.create-first-button:hover{background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-800) 100%);transform:translateY(-3px);box-shadow:0 10px 30px #3b82f680}.create-first-button:active{transform:translateY(-1px)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.proj-card{background:#fff;border-radius:10px;border:1px solid #e5e7eb;overflow:hidden}.proj-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #0000000f}.proj-header{display:flex;align-items:center;padding:14px 16px;gap:12px}.proj-badge{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.proj-badge span{color:#fff;font-weight:600;font-size:14px}.proj-info{flex:1;min-width:0}.proj-name{font-size:15px;font-weight:600;color:#1f2937;margin:0;line-height:1.3}.proj-desc{font-size:13px;color:#6b7280;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.proj-card:hover .proj-actions{opacity:1}.proj-btn{width:30px;height:30px;padding:0;border:none;border-radius:6px;cursor:pointer;background:#f3f4f6;color:#6b7280;display:flex;align-items:center;justify-content:center}.proj-btn:hover{background:#dbeafe;color:#2563eb}.proj-btn.delete:hover{background:#fee2e2;color:#dc2626}.proj-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#f9fafb;border-top:1px solid #f3f4f6}.proj-stats{display:flex;align-items:center;gap:14px}.proj-stat{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#6b7280}.proj-stat svg{width:14px;height:14px}.proj-stat.active{color:#059669}.proj-stat.active svg{color:#10b981}.proj-stat.inactive{color:#dc2626}.proj-stat.inactive svg{color:#ef4444}.proj-stat.status-toggle:hover{background-color:#f3f4f6!important;transform:scale(1.05)}.proj-stat.status-toggle.active:hover{background-color:#ecfdf5!important}.proj-stat.status-toggle.inactive:hover{background-color:#fef2f2!important}.proj-date{display:inline-flex;align-items:center;gap:5px;color:#9ca3af;font-size:12px}.proj-date svg{width:13px;height:13px}.form-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .2s ease}.project-form{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.project-form .form-header{display:flex;justify-content:space-between;align-items:center;padding:28px 32px;border-bottom:1px solid #e5e7eb;background:linear-gradient(to bottom,#fff,#f9fafb);border-radius:16px 16px 0 0;gap:1rem}.project-form .form-header h2{margin:0;padding:0;font-size:24px;font-weight:700;color:#111827;line-height:1.5}.project-form .close-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:var(--bg-secondary);border-radius:.5rem;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;flex-shrink:0;margin-left:0}.project-form .close-button:hover{background:var(--border-primary);color:var(--text-primary)}.project-form .form-content{padding:32px}.project-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.project-modal .form-group,.project-form .form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.project-form .form-group:last-child{margin-bottom:0}.project-form .form-group label{font-size:14px;font-weight:600;color:#374151;display:flex;align-items:center;gap:6px}.project-form .form-group input[type=text],.project-form .form-group input[type=number],.project-form .form-group textarea{padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;font-family:inherit;transition:all .2s ease;background:#fff;color:#111827}.project-form .form-group input:hover{border-color:#cbd5e1}.project-form .form-group input:focus,.project-form .form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.project-form .form-group textarea{min-height:100px;resize:vertical;line-height:1.5}.project-form .form-group .form-hint{font-size:13px;color:#6b7280;margin:0;line-height:1.4}.status-toggle-label{display:flex!important;align-items:center!important;justify-content:space-between!important;cursor:default!important;margin-bottom:0!important}.status-toggle-wrapper{display:flex;align-items:center;gap:12px}.status-toggle-text{font-size:14px;font-weight:600;min-width:60px;text-align:right}.status-toggle-text.active{color:#10b981}.status-toggle-text.inactive{color:#ef4444}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;margin:8px 0 0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#e5e7eb;transition:all .3s ease;border-radius:34px;border:2px solid #d1d5db}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:all .3s ease;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:#10b981;border-color:#059669}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-switch:hover .toggle-slider{box-shadow:0 0 0 3px #3b82f61a}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 3px #3b82f633}.project-modal .color-picker{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-top:var(--spacing-2);max-width:100%}.project-modal .color-option{width:32px;height:32px;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:var(--transition-base);flex-shrink:0}.project-modal .color-option:hover{transform:scale(1.1);border-color:#0003}.project-modal .color-option.selected{border-color:#fff;box-shadow:0 0 0 2px currentColor,0 4px 12px #0003;transform:scale(1.15)}.project-form .form-actions{display:flex;gap:12px;justify-content:flex-end;padding:24px 32px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 16px 16px;margin-top:32px}.project-form .cancel-button,.project-form .save-button{padding:12px 28px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;justify-content:center;gap:8px;min-width:150px;white-space:nowrap}.project-form .cancel-button{background:#fff;color:#6b7280;border:2px solid #e5e7eb}.project-form .cancel-button:hover{background:#f9fafb;border-color:#cbd5e1;color:#374151}.project-form .save-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f640}.project-form .save-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f659;transform:translateY(-1px)}.project-form .save-button:active{transform:translateY(0)}.project-modal .color-option.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-primary);transform:scale(1.1)}.project-form .tag-input-section{margin-top:0!important;display:flex!important;flex-direction:column!important;gap:16px!important;background:#f8fafc!important;padding:20px!important;border-radius:12px!important;border:2px solid #e2e8f0!important}.project-form .tag-input-row{display:flex!important;flex-direction:column!important;gap:var(--spacing-3)!important}.project-form .tag-input-controls{display:flex!important;gap:var(--spacing-2)!important;align-items:flex-start!important;flex-wrap:wrap!important}.project-form .tag-name-input{width:100%!important;padding:12px 16px!important;border:2px solid #e2e8f0!important;border-radius:8px!important;font-size:14px!important;transition:all .2s ease!important;background:#fff!important}.project-form .tag-name-input:hover{border-color:#cbd5e1!important}.project-form .tag-name-input:focus{outline:none!important;border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.project-form .tag-color-picker-mini,.tag-color-picker-mini{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:8px!important;padding:12px!important;border:2px solid #e2e8f0!important;border-radius:8px!important;background:#fff!important;flex:1!important;min-width:200px!important}.project-form .tag-color-option,.tag-color-option{width:32px!important;height:32px!important;border-radius:6px!important;border:3px solid transparent!important;cursor:pointer!important;transition:all .2s ease!important;flex-shrink:0!important;position:relative!important}.project-form .tag-color-option:hover,.tag-color-option:hover{transform:scale(1.15)!important;box-shadow:0 4px 8px #00000026!important}.project-form .tag-color-option.selected,.tag-color-option.selected{border-color:#fff!important;box-shadow:0 0 0 2px currentColor,0 4px 12px #0003!important;transform:scale(1.15)!important}.project-form .tag-color-option.selected:after,.tag-color-option.selected:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}.project-form .add-tag-button,.add-tag-button{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:12px 24px!important;background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important;border:none!important;border-radius:8px!important;font-weight:600!important;font-size:14px!important;cursor:pointer!important;transition:all .2s ease!important;white-space:nowrap!important;min-width:100px!important;flex-shrink:0!important;box-shadow:0 2px 4px #3b82f633!important}.project-form .add-tag-button:hover:not(:disabled),.add-tag-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;box-shadow:0 4px 8px #3b82f64d!important;transform:translateY(-1px)!important}.project-form .add-tag-button:active:not(:disabled),.add-tag-button:active:not(:disabled){transform:translateY(0)!important}.project-form .add-tag-button:disabled,.add-tag-button:disabled{opacity:.5;cursor:not-allowed;background:#94a3b8;box-shadow:none}.tags-preview{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin-top:4px}.tag-preview-item{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:20px;color:#fff;font-size:13px;font-weight:500;box-shadow:0 2px 4px #0000001a;transition:all .2s ease;animation:tagFadeIn .3s ease}@keyframes tagFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.tag-preview-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.remove-tag-button{background:#0003;border:none;color:#fff;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:50%;width:18px;height:18px;transition:all .2s ease}.remove-tag-button:hover{background:#0000004d;transform:scale(1.1)}.form-hint{margin-top:0;font-size:13px;color:#64748b;font-style:italic}.delete-confirm-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:480px;width:100%;animation:slideUp .3s ease;overflow:hidden}.delete-confirm-header{padding:24px 28px;border-bottom:1px solid #e5e7eb;background:linear-gradient(to bottom,#fff,#f9fafb)}.delete-confirm-header h3{margin:0;padding:0;font-size:20px;font-weight:700;color:#111827;line-height:1.5}.delete-confirm-content{padding:24px 28px}.delete-confirm-content p{margin:0;color:#4b5563;font-size:15px;line-height:1.6}.delete-confirm-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px 28px;border-top:1px solid #e5e7eb;background:#f9fafb}.delete-confirm-actions .cancel-button,.delete-confirm-actions .delete-button{padding:10px 24px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;justify-content:center;gap:8px;min-width:100px;height:44px}.delete-confirm-actions .cancel-button{background:#fff;color:#6b7280;border:2px solid #e5e7eb}.delete-confirm-actions .cancel-button:hover{background:#f9fafb;border-color:#cbd5e1;color:#374151}.delete-confirm-actions .delete-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f640}.delete-confirm-actions .delete-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f659;transform:translateY(-1px)}.delete-confirm-actions .delete-button:active{transform:translateY(0)}@media(max-width:768px){.projects-page{padding:var(--spacing-4)}.page-header{flex-direction:column;gap:var(--spacing-4);align-items:stretch}.projects-grid{grid-template-columns:1fr}.project-header{flex-direction:column;gap:var(--spacing-4)}.project-actions{align-self:flex-end}.empty-state{padding:var(--spacing-16) var(--spacing-6)}.empty-state h3{font-size:var(--text-3xl)}.empty-state p{font-size:var(--text-lg)}}.time-entry-item{border-bottom:1px solid var(--border-secondary);transition:var(--transition-base);display:flex;align-items:center;gap:24px;padding:16px 20px;background-color:var(--bg-primary);min-height:64px}.time-entry-item:hover{background-color:var(--bg-tertiary)}.time-entry-item:last-child{border-bottom:none}.time-entry-item .entry-user-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-bold);font-size:12px;flex-shrink:0;box-shadow:0 2px 4px #0000001f;position:relative}.entry-main{display:flex;align-items:center;gap:24px;flex:1;min-width:0}.entry-project{display:flex;align-items:center;width:200px;flex-shrink:0;min-width:140px}.project-info{min-width:0;flex:1}.project-name{font-weight:var(--font-semibold);color:var(--text-primary);display:block;font-size:14px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-name{display:none}.entry-details{min-width:0;flex:1;display:flex;align-items:center;gap:24px}.entry-description{color:var(--text-primary);font-size:14px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.entry-meta{display:flex;gap:20px;align-items:center;font-size:12px;color:var(--text-secondary);flex-shrink:0}.entry-time,.entry-earnings,.entry-tags{display:flex;align-items:center;gap:5px;white-space:nowrap}.entry-time svg,.entry-earnings svg,.entry-tags svg{opacity:.7;flex-shrink:0}.entry-duration{font-family:Monaco,Menlo,monospace;font-weight:var(--font-semibold);color:var(--text-primary);text-align:right;display:flex;align-items:center;gap:6px;flex-shrink:0;justify-content:flex-end;font-size:14px;letter-spacing:.3px;min-width:100px}.billable-indicator{color:var(--color-success-500);font-size:12px;font-weight:var(--font-medium)}.entry-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-shrink:0}.continue-button,.edit-button,.delete-button,.save-button,.cancel-button,.duplicate-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:none;cursor:pointer;transition:all .15s ease}.continue-button{background:var(--color-success-500);color:#fff}.continue-button:hover{background:var(--color-success-600);transform:scale(1.05)}.edit-button{background:var(--color-warning-500);color:#fff}.edit-button:hover{background:var(--color-warning-600);transform:scale(1.05)}.duplicate-button{background:var(--color-gray-500);color:#fff}.duplicate-button:hover{background:var(--color-gray-600);transform:scale(1.05)}.delete-button{background:var(--color-error-500);color:#fff}.delete-button:hover{background:var(--color-error-600);transform:scale(1.05)}.save-button{background:var(--color-primary-500);color:#fff;width:auto;height:2.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:var(--font-semibold)}.save-button:hover{background:var(--color-primary-600)}.cancel-button{background:var(--text-secondary);color:#fff;width:auto;height:2.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:var(--font-semibold)}.cancel-button:hover{background:var(--color-gray-600)}.edit-form{display:flex;flex-direction:column;gap:.75rem;width:100%}.edit-description{padding:.625rem .75rem;border:1px solid var(--border-primary);border-radius:.375rem;font-size:.875rem;width:100%;height:2.5rem}.edit-controls{display:flex;align-items:center;gap:1rem;font-size:.875rem;flex-wrap:wrap}.time-field-wrapper{display:flex;align-items:center;gap:.375rem}.time-field-label{font-size:.875rem;color:var(--text-secondary);font-weight:var(--font-medium)}.time-field{position:relative}.time-display-button{padding:.625rem .75rem;border:1px solid var(--border-primary);border-radius:.375rem;font-size:.875rem;font-family:Monaco,Menlo,Courier New,monospace;min-width:5.5rem;height:2.5rem;background:#fff;cursor:pointer;transition:all .2s ease;color:var(--text-primary)}.time-display-button:hover{background:var(--bg-secondary);border-color:var(--color-primary-500)}.time-display-button:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 2px #3b82f61a}.calendar-icon-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--border-primary);border-radius:.375rem;background:#fff;cursor:pointer;transition:all .2s ease;color:var(--text-secondary)}.calendar-icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--color-primary-500)}.calendar-icon-btn:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 2px #3b82f61a}.time-separator{color:var(--text-secondary);font-weight:var(--font-medium);margin:0 .25rem}.time-inputs-group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.time-label{font-size:.75rem;color:var(--text-secondary);font-weight:var(--font-medium)}.time-inputs{display:flex;align-items:center;gap:.25rem}.edit-time-number{padding:.375rem .5rem;border:1px solid var(--border-primary);border-radius:.375rem;font-size:.75rem;font-family:Monaco,Menlo,Courier New,monospace;width:2.5rem;text-align:center;transition:border-color .2s ease}.edit-time-number:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 2px #3b82f61a}.edit-time-number::placeholder{color:var(--text-tertiary);font-size:.625rem}.edit-time-number::-webkit-outer-spin-button,.edit-time-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.edit-time-number[type=number]{-moz-appearance:textfield;appearance:textfield}.time-sep{color:var(--text-secondary);font-weight:var(--font-semibold);font-size:.75rem;user-select:none}.time-dash{color:var(--text-secondary);font-weight:var(--font-medium);margin:0 .25rem}.edit-time{padding:.25rem .5rem;border:1px solid var(--border-primary);border-radius:.375rem;font-size:.75rem;font-family:Monaco,Menlo,monospace;min-width:5rem}.edit-duration{width:4rem;padding:.25rem .5rem;border:1px solid var(--border-primary);border-radius:.375rem;font-size:.75rem}.billable-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;height:2.5rem}.billable-toggle input[type=checkbox]{accent-color:var(--color-checkbox);width:1.125rem;height:1.125rem;cursor:pointer}.project-selection{position:relative;display:flex;flex-direction:column;gap:.5rem;z-index:100}.project-selection label{font-size:.875rem;font-weight:var(--font-medium);color:var(--text-secondary)}.project-select-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;height:2.5rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-text);cursor:pointer;transition:var(--transition-base)}.project-select-btn:hover{background:var(--bg-tertiary);border-color:var(--border-secondary)}.project-select-btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.tag-selection{position:relative;display:flex;flex-direction:column;gap:.5rem;z-index:99}.tag-selection label{font-size:.875rem;font-weight:var(--font-medium);color:var(--text-secondary)}.tag-select-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;height:2.5rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-text);cursor:pointer;transition:var(--transition-base)}.tag-select-btn:hover{background:var(--bg-tertiary);border-color:var(--border-secondary)}.tag-select-btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:1200px){.entry-project{width:180px;min-width:120px}.entry-meta{gap:16px}}@media(max-width:1024px){.time-entry-item{gap:16px;padding:12px 16px}.entry-main{gap:16px}.entry-project{width:150px}.entry-details{gap:16px}.entry-duration{min-width:90px;font-size:13px}.entry-actions{gap:6px}}@media(max-width:768px){.time-entry-item{flex-wrap:wrap;gap:12px;padding:14px 16px;min-height:auto}.time-entry-item .entry-user-avatar{width:32px;height:32px;font-size:11px}.entry-main{flex-wrap:wrap;gap:12px;width:100%}.entry-project{width:auto;flex:1;min-width:auto}.entry-details{width:100%;flex-wrap:wrap;gap:12px}.entry-description{width:100%}.entry-duration{justify-content:flex-start;min-width:auto}.entry-actions{width:100%;justify-content:flex-start;gap:8px}.entry-meta{flex-wrap:wrap}}} .time-entry-list{padding:0}.empty-timesheet{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-timesheet h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary)}.empty-timesheet p{margin:0;font-size:1rem}.date-group{border-bottom:1px solid var(--bg-secondary)}.date-group:last-child{border-bottom:none}.date-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem .5rem;background:var(--bg-secondary)}.date-header h3{margin:0;font-size:1rem;font-weight:var(--font-semibold);color:var(--text-primary)}.date-total{font-weight:var(--font-semibold);color:var(--color-primary-500);font-size:.875rem}.entries-for-date{padding:0}.multi-select-dropdown{position:relative;width:100%}.multi-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#374151;cursor:pointer;transition:all .15s ease;gap:8px}.multi-select-trigger:hover:not(:disabled){border-color:#3b82f6;background:#f9fafb}.multi-select-trigger:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.multi-select-trigger:disabled{opacity:.5;cursor:not-allowed}.multi-select-label{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multi-select-caret{flex-shrink:0;color:#6b7280;transition:transform .2s ease}.multi-select-caret.open{transform:rotate(180deg)}.multi-select-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:280px;overflow-y:auto;z-index:1000;padding:4px}.multi-select-option{display:flex;align-items:center;padding:8px 12px;cursor:pointer;border-radius:6px;transition:background-color .15s ease;gap:10px;user-select:none}.multi-select-option:hover{background:#f3f4f6}.multi-select-option input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid #d1d5db;border-radius:4px;background:#fff;transition:all .15s ease;flex-shrink:0;color:#fff}.multi-select-option input[type=checkbox]:checked+.checkbox-custom{background:#3b82f6;border-color:#3b82f6}.multi-select-option:hover .checkbox-custom{border-color:#3b82f6}.option-label{flex:1;font-size:14px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multi-select-empty{padding:16px;text-align:center;color:#9ca3af;font-size:14px}.multi-select-menu::-webkit-scrollbar{width:8px}.multi-select-menu::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.multi-select-menu::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.multi-select-menu::-webkit-scrollbar-thumb:hover{background:#9ca3af}.timesheet-page{padding:var(--spacing-8);width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden}.add-entry-button,.export-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-md);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-all)}.add-entry-button{background:var(--color-primary-500);color:var(--text-white);border:none;box-shadow:var(--shadow-primary)}.add-entry-button:hover{background:var(--color-primary-600);box-shadow:var(--shadow-primary-md)}.export-button{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.export-button:hover:not(:disabled){background:var(--bg-tertiary)}.export-button:disabled{opacity:.5;cursor:not-allowed}.timesheet-filters{background:var(--bg-primary);padding:var(--spacing-6);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-8);display:flex;flex-wrap:wrap;gap:var(--spacing-8);align-items:center;border:1px solid var(--border-primary)}.period-filters{display:flex;align-items:center;gap:var(--spacing-4)}.period-filters label{display:flex;align-items:center;gap:var(--spacing-2);font-weight:var(--font-semibold);color:var(--text-primary)}.filter-buttons{display:flex;gap:var(--spacing-1);background:var(--bg-secondary);padding:var(--spacing-1);border-radius:var(--radius-md)}.filter-button{padding:var(--spacing-2) var(--spacing-4);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-all)}.filter-button:hover{color:var(--text-primary)}.filter-button.active{background:var(--bg-primary);color:var(--color-primary-600);box-shadow:var(--shadow-sm)}.project-filter{display:flex;align-items:center;gap:var(--spacing-4)}.project-filter label{font-weight:var(--font-semibold);color:var(--text-primary);display:flex;align-items:center;white-space:nowrap}.project-filter-select-wrapper{position:relative;display:flex;align-items:center}.project-filter-select{min-width:200px;max-width:280px}.project-filter-caret{position:absolute;right:var(--spacing-2);pointer-events:none;color:var(--text-secondary)}.timesheet-content{background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);overflow:auto;border:1px solid var(--border-primary)}.period-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);border-bottom:1px solid var(--border-primary)}.period-header h2{margin:0;color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold)}.entry-count{color:var(--text-secondary);font-size:var(--text-sm)}@media(max-width:768px){.timesheet-page{padding:var(--spacing-4)}.timesheet-header{flex-direction:column;gap:var(--spacing-4)}.timesheet-stats{gap:var(--spacing-4)}.header-actions{flex-direction:column;width:100%}.timesheet-filters{flex-direction:column;align-items:flex-start;gap:var(--spacing-4)}.filter-buttons{flex-wrap:wrap}}.calendar-event-content{display:flex;flex-direction:row;align-items:center;gap:4px;width:100%;overflow:hidden;flex-wrap:nowrap}.event-title{font-weight:var(--font-semibold);font-size:.7rem;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.event-details{display:flex;gap:4px;align-items:center;flex-wrap:nowrap;flex-shrink:0}.event-duration,.event-project,.event-billable{display:flex;align-items:center;gap:2px;font-size:.6rem;opacity:.95;white-space:nowrap}.event-duration svg,.event-project svg,.event-billable svg{flex-shrink:0}.event-task{display:none}.event-billable{color:var(--color-success-500);font-weight:var(--font-medium)}@media(max-width:768px){.event-details{flex-direction:column;align-items:flex-start;gap:2px}.event-duration,.event-project,.event-billable{font-size:.55rem}.event-title{font-size:.65rem}}.event-tooltip{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);z-index:var(--z-tooltip);min-width:280px;max-width:400px;animation:tooltipFadeIn .2s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-90%) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(-100%) scale(1)}}.tooltip-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--border-secondary);gap:var(--spacing-2)}.tooltip-header h4{margin:0!important;padding:0;color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:1.5rem;display:flex;align-items:center;height:1.5rem}.event-tooltip .close-button{display:flex!important;align-items:center;justify-content:center;width:1.5rem!important;height:1.5rem!important;min-width:1.5rem;min-height:1.5rem;padding:0;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition-all);flex-shrink:0;margin-top:4px}.event-tooltip .close-button:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-primary)}.tooltip-content{padding:var(--spacing-3) var(--spacing-4) var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-3)}.tooltip-item{display:flex;align-items:flex-start;gap:var(--spacing-2);font-size:var(--text-sm);line-height:1.4}.tooltip-item svg{color:var(--text-secondary);margin-top:.125rem;flex-shrink:0}.tooltip-item span{color:var(--text-primary)}.tooltip-item strong{color:var(--text-primary);font-weight:var(--font-semibold)}.billable{color:var(--color-success-500)!important;font-weight:var(--font-medium)!important}.non-billable{color:var(--text-secondary)!important}.tags-container{display:flex;flex-wrap:wrap;gap:var(--spacing-1)}.tag{background:var(--color-primary-50);color:var(--color-primary-800);padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:var(--font-medium)}@media(max-width:768px){.event-tooltip{position:fixed!important;left:1rem!important;right:1rem!important;top:50%!important;transform:translateY(-50%)!important;max-width:none!important;animation:tooltipSlideUp .3s ease-out}@keyframes tooltipSlideUp{0%{opacity:0;transform:translateY(-30%) scale(.95)}to{opacity:1;transform:translateY(-50%) scale(1)}}.tooltip-content{max-height:60vh;overflow-y:auto}}.sre-editor{display:flex;flex-direction:column;gap:var(--spacing-5, 1.25rem);padding:var(--spacing-4, 1rem) 0}.sre-section{display:flex;flex-direction:column;gap:var(--spacing-3, .75rem)}.sre-section-title{font-size:var(--text-sm, .875rem);font-weight:600;color:var(--text-primary, #1f2937);text-transform:uppercase;letter-spacing:.05em;padding-bottom:var(--spacing-1, .25rem);border-bottom:1px solid var(--border-light, #e5e7eb)}.sre-label{font-size:var(--text-sm, .875rem);font-weight:600;color:var(--text-primary, #1f2937)}.sre-field{display:flex;flex-direction:column;gap:var(--spacing-1, .25rem)}.sre-field-label{font-size:var(--text-xs, .75rem);font-weight:500;color:var(--text-secondary, #6b7280)}.sre-input{padding:var(--spacing-2, .5rem) var(--spacing-3, .75rem);border:1px solid var(--border-primary, #d1d5db);border-radius:var(--radius-md, .375rem);font-size:var(--text-sm, .875rem);background:var(--bg-primary, #ffffff);color:var(--text-primary, #1f2937);transition:border-color .15s ease;width:100%;box-sizing:border-box}.sre-input:focus{outline:none;border-color:var(--color-primary-400, #60a5fa);box-shadow:0 0 0 2px #3b82f626}.sre-input-error{border-color:var(--color-danger, #ef4444)}.sre-input-narrow{max-width:120px}.sre-input-sm{padding:var(--spacing-1, .25rem) var(--spacing-2, .5rem);font-size:var(--text-xs, .75rem)}.sre-input-with-icon{position:relative;display:flex;align-items:center;gap:var(--spacing-2, .5rem)}.sre-input-with-icon svg{position:absolute;left:var(--spacing-2, .5rem);color:var(--text-tertiary, #9ca3af);pointer-events:none}.sre-input-with-icon .sre-input{padding-left:var(--spacing-7, 1.75rem)}.sre-select{padding:var(--spacing-2, .5rem) var(--spacing-3, .75rem);border:1px solid var(--border-primary, #d1d5db);border-radius:var(--radius-md, .375rem);font-size:var(--text-sm, .875rem);background:var(--bg-primary, #ffffff);color:var(--text-primary, #1f2937);cursor:pointer;width:100%;box-sizing:border-box}.sre-select:focus{outline:none;border-color:var(--color-primary-400, #60a5fa);box-shadow:0 0 0 2px #3b82f626}.sre-calendar-checkboxes{display:flex;flex-direction:column;gap:var(--spacing-2, .5rem);padding:var(--spacing-2, .5rem);border:1px solid var(--border-light, #e5e7eb);border-radius:var(--radius-md, .375rem);max-height:150px;overflow-y:auto}.sre-checkbox-label{display:flex;align-items:center;gap:var(--spacing-2, .5rem);font-size:var(--text-sm, .875rem);color:var(--text-primary, #1f2937);cursor:pointer}.sre-checkbox-label input[type=checkbox]{accent-color:var(--color-primary-500, #3b82f6)}.sre-cal-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sre-hint{font-size:var(--text-xs, .75rem);color:var(--text-tertiary, #9ca3af);font-style:italic}.sre-hint-warning{display:flex;align-items:flex-start;gap:var(--spacing-2, .5rem);padding:var(--spacing-2, .5rem) var(--spacing-3, .75rem);background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-md, .375rem);color:#92400e;font-style:normal}.sre-hint-warning svg{flex-shrink:0;margin-top:1px;color:#f59e0b}.sre-error{font-size:var(--text-xs, .75rem);color:var(--color-danger, #ef4444)}.sre-regex-tester{display:flex;flex-direction:column;gap:var(--spacing-2, .5rem);padding:var(--spacing-2, .5rem) var(--spacing-3, .75rem);background:var(--bg-secondary, #f9fafb);border-radius:var(--radius-md, .375rem);border:1px solid var(--border-light, #e5e7eb)}.sre-regex-status{font-size:var(--text-xs, .75rem)}.sre-regex-valid{display:inline-flex;align-items:center;gap:4px;color:var(--color-success, #10b981)}.sre-regex-invalid{display:inline-flex;align-items:center;gap:4px;color:var(--color-danger, #ef4444)}.sre-regex-test-row{display:flex;align-items:center;gap:var(--spacing-2, .5rem)}.sre-regex-test-row .sre-input{flex:1}.sre-regex-result{font-size:var(--text-xs, .75rem);font-weight:600;white-space:nowrap}.sre-regex-match{color:var(--color-success, #10b981)}.sre-regex-no-match{color:var(--text-tertiary, #9ca3af)}.sre-preview-btn{display:inline-flex;align-items:center;gap:var(--spacing-2, .5rem);padding:var(--spacing-2, .5rem) var(--spacing-4, 1rem);border:1px solid var(--border-primary, #d1d5db);border-radius:var(--radius-md, .375rem);background:var(--bg-primary, #ffffff);color:var(--text-primary, #1f2937);font-size:var(--text-sm, .875rem);cursor:pointer;transition:all .15s ease}.sre-preview-btn:hover:not(:disabled){background:var(--bg-secondary, #f9fafb);border-color:var(--color-primary-400, #60a5fa)}.sre-preview-btn:disabled{opacity:.6;cursor:not-allowed}.sre-preview-loading{text-align:center;padding:var(--spacing-4, 1rem);font-size:var(--text-sm, .875rem);color:var(--text-tertiary, #9ca3af)}.sre-preview-empty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2, .5rem);padding:var(--spacing-6, 1.5rem) var(--spacing-4, 1rem);text-align:center;color:var(--text-tertiary, #9ca3af)}.sre-preview-empty p{margin:0;font-size:var(--text-sm, .875rem);font-weight:500}.sre-preview-empty span{font-size:var(--text-xs, .75rem)}.sre-preview{border:1px solid var(--border-light, #e5e7eb);border-radius:var(--radius-md, .375rem);overflow:hidden}.sre-preview-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2, .5rem) var(--spacing-3, .75rem);background:var(--bg-secondary, #f9fafb);border-bottom:1px solid var(--border-light, #e5e7eb)}.sre-preview-count{font-size:var(--text-xs, .75rem);font-weight:600;color:var(--text-secondary, #6b7280)}.sre-preview-list{max-height:200px;overflow-y:auto}.sre-preview-item{padding:var(--spacing-2, .5rem) var(--spacing-3, .75rem);border-bottom:1px solid var(--border-light, #e5e7eb)}.sre-preview-item:last-child{border-bottom:none}.sre-preview-title{font-size:var(--text-sm, .875rem);font-weight:500;color:var(--text-primary, #1f2937);display:flex;align-items:center;gap:var(--spacing-2, .5rem);flex-wrap:wrap}.sre-preview-override{font-size:var(--text-xs, .75rem);font-weight:400;color:#92400e;background:#f59e0b1a;padding:1px 6px;border-radius:999px}.sre-preview-time,.sre-preview-calendar{display:flex;align-items:center;gap:4px;font-size:var(--text-xs, .75rem);color:var(--text-tertiary, #9ca3af);margin-top:2px}.sre-actions{display:flex;justify-content:flex-end;gap:var(--spacing-3, .75rem);padding-top:var(--spacing-4, 1rem);border-top:1px solid var(--border-light, #e5e7eb)}.sre-btn{padding:var(--spacing-2, .5rem) var(--spacing-5, 1.25rem);border-radius:var(--radius-md, .375rem);font-size:var(--text-sm, .875rem);font-weight:500;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.sre-btn:disabled{opacity:.6;cursor:not-allowed}.sre-btn-cancel{background:var(--bg-primary, #ffffff);border-color:var(--border-primary, #d1d5db);color:var(--text-secondary, #6b7280)}.sre-btn-cancel:hover:not(:disabled){background:var(--bg-secondary, #f9fafb)}.sre-btn-save{background:var(--color-primary-500, #3b82f6);color:#fff}.sre-btn-save:hover:not(:disabled){background:var(--color-primary-600, #2563eb)}.cs-panel{display:flex;flex-direction:column;gap:var(--spacing-4);height:100%}.cs-tabs{display:flex;gap:var(--spacing-2);border-bottom:1px solid var(--border-primary);padding-bottom:var(--spacing-2)}.cs-tab{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);border:none;background:none;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-all)}.cs-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.cs-tab-active{background:var(--color-primary-100);color:var(--color-primary-600)}.cs-tab-content{flex:1;overflow-y:auto}.cs-connect-buttons{display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.cs-connect-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border:1px dashed var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-all)}.cs-connect-btn:hover{border-color:var(--color-primary-400);background:var(--color-primary-100)}.cs-connect-google:hover{border-color:#4285f4}.cs-connect-outlook:hover{border-color:#0078d4}.cs-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-8);color:var(--text-secondary);font-size:var(--text-sm)}.cs-empty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3);padding:var(--spacing-8);color:var(--text-secondary);text-align:center}.cs-empty p{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.cs-empty span{font-size:var(--text-sm)}.cs-connection-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.cs-connection-card{border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-primary);overflow:hidden}.cs-connection-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);cursor:pointer;transition:var(--transition-all)}.cs-connection-header:hover{background:var(--bg-secondary)}.cs-connection-info{display:flex;align-items:center;gap:var(--spacing-3)}.cs-provider-badge{padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.cs-provider-google{background:#e8f0fe;color:#1a73e8}.cs-provider-outlook{background:#e1f0ff;color:#0078d4}.cs-sync-mode-badge{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;border-radius:var(--radius-md);font-size:10px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.cs-sync-mode-live{background:#dcfce7;color:#16a34a}.cs-sync-mode-hybrid{background:#fef3c7;color:#d97706}.cs-icon-btn-active{color:#16a34a}.cs-icon-btn-active:hover{background:#dcfce7;color:#16a34a}.cs-connection-email{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.cs-connection-meta{font-size:var(--text-xs);color:var(--text-secondary);display:flex;align-items:center;gap:var(--spacing-2)}.cs-sync-error{color:#ef4444;display:inline-flex;align-items:center;gap:var(--spacing-1)}.cs-connection-actions{display:flex;align-items:center;gap:var(--spacing-2)}.cs-icon-btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2);border:none;border-radius:var(--radius-md);background:none;color:var(--text-secondary);cursor:pointer;transition:var(--transition-all)}.cs-icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.cs-icon-btn:disabled{opacity:.5;cursor:not-allowed}.cs-icon-btn-danger:hover{background:#fef2f2;color:#ef4444}.cs-spinning{animation:cs-spin 1s linear infinite}@keyframes cs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cs-calendars{border-top:1px solid var(--border-light);padding:var(--spacing-3) var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-2);background:var(--bg-secondary)}.cs-calendars-empty{font-size:var(--text-sm);color:var(--text-secondary);text-align:center;padding:var(--spacing-3)}.cs-calendar-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-all)}.cs-calendar-item:hover{background:var(--bg-primary)}.cs-calendar-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.cs-calendar-name{font-size:var(--text-sm);color:var(--text-primary)}.cs-calendar-readonly{font-size:var(--text-xs);color:var(--text-secondary);margin-left:auto}.cs-events{display:flex;flex-direction:column;gap:var(--spacing-3)}.cs-event-card{border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-4);background:var(--bg-primary);transition:var(--transition-all)}.cs-event-card:hover{box-shadow:var(--shadow-sm)}.cs-event-deleted{opacity:.6;border-style:dashed}.cs-event-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-2)}.cs-event-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap}.cs-event-badge{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-xs);font-weight:var(--font-medium);padding:1px var(--spacing-2);border-radius:var(--radius-md)}.cs-badge-linked{background:#ecfdf5;color:#059669}.cs-badge-deleted{background:#fef2f2;color:#dc2626}.cs-badge-allday{font-size:var(--text-xs);color:var(--text-secondary);padding:1px var(--spacing-2);background:var(--bg-secondary);border-radius:var(--radius-md)}.cs-event-calendar{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.cs-calendar-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.cs-event-time{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--spacing-2)}.cs-event-location{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--spacing-2)}.cs-event-rule{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--text-xs);color:var(--color-primary-600);margin-bottom:var(--spacing-2)}.cs-event-action-btn{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--color-primary-400);border-radius:var(--radius-md);background:none;color:var(--color-primary-600);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-all)}.cs-event-action-btn:hover{background:var(--color-primary-100)}.cs-bulk-bar{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);margin-bottom:var(--spacing-3);flex-wrap:wrap}.cs-bulk-select-all{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);border:none;background:none;color:var(--color-neutral-700);font-size:var(--text-sm);cursor:pointer;white-space:nowrap}.cs-bulk-select-all:hover{color:var(--color-primary-600)}.cs-bulk-actions{display:flex;align-items:center;gap:var(--spacing-2);margin-left:auto}.cs-bulk-project-select{padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--text-xs);background:var(--color-white);max-width:180px}.cs-bulk-create-btn{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);border:none;border-radius:var(--radius-md);background:var(--color-primary-600);color:var(--color-white);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;transition:var(--transition-all)}.cs-bulk-create-btn:hover{background:var(--color-primary-700)}.cs-bulk-classify-btn{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);border:none;border-radius:var(--radius-md);background:var(--color-warning-100, #fef3c7);color:var(--color-warning-700, #b45309);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;transition:var(--transition-all)}.cs-bulk-classify-btn:hover{background:var(--color-warning-200, #fde68a)}.cs-bulk-classify-btn:disabled{opacity:.6;cursor:not-allowed}.cs-event-suggestion{display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);background:var(--color-warning-50, #fffbeb);border:1px solid var(--color-warning-200, #fde68a);border-radius:var(--radius-md);font-size:var(--text-xs);margin-bottom:var(--spacing-2);color:var(--color-warning-700, #b45309)}.cs-suggestion-label{font-weight:var(--font-medium)}.cs-suggestion-confidence{color:var(--color-neutral-500);margin-left:var(--spacing-1)}.cs-suggestion-accept,.cs-suggestion-dismiss{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:var(--radius-sm);cursor:pointer;padding:0;margin-left:var(--spacing-1);transition:var(--transition-all)}.cs-suggestion-accept{background:var(--color-success-100, #dcfce7);color:var(--color-success-600, #16a34a)}.cs-suggestion-accept:hover{background:var(--color-success-200, #bbf7d0)}.cs-suggestion-dismiss{background:var(--color-neutral-100);color:var(--color-neutral-500)}.cs-suggestion-dismiss:hover{background:var(--color-neutral-200);color:var(--color-neutral-700)}.cs-event-checkbox{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-neutral-400);cursor:pointer;padding:0;flex-shrink:0}.cs-event-checkbox:hover{color:var(--color-primary-500)}.cs-event-linked .cs-event-title{color:var(--color-neutral-500)}.cs-rules{display:flex;flex-direction:column;gap:var(--spacing-4)}.cs-rules-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-3)}.cs-rules-info-text{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.5}.cs-add-rule-btn{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-4);border:none;border-radius:var(--radius-md);background:var(--color-primary-500, #3b82f6);color:#fff;font-size:var(--text-sm);font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease}.cs-add-rule-btn:hover{background:var(--color-primary-600, #2563eb)}.cs-rules-info{font-size:var(--text-sm);color:var(--text-secondary);padding:var(--spacing-3) var(--spacing-4);background:var(--bg-secondary);border-radius:var(--radius-lg)}.cs-rules-info p{margin:0}.cs-rule-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.cs-rule-card{border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-4);background:var(--bg-primary);transition:var(--transition-all)}.cs-rule-card:hover{box-shadow:var(--shadow-sm)}.cs-rule-inactive{opacity:.6}.cs-rule-header{display:flex;align-items:center;justify-content:space-between}.cs-rule-info{display:flex;align-items:center;gap:var(--spacing-2)}.cs-rule-priority{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);background:var(--bg-secondary);padding:1px var(--spacing-2);border-radius:var(--radius-md)}.cs-rule-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.cs-rule-match-type{font-size:var(--text-xs);padding:1px var(--spacing-2);border-radius:var(--radius-md)}.cs-match-titlecontains{background:#ecfdf5;color:#059669}.cs-match-titleexact{background:#eff6ff;color:#2563eb}.cs-match-calendarid{background:#fef3c7;color:#d97706}.cs-match-category{background:#f3e8ff;color:#9333ea}.cs-match-regex{background:#fce7f3;color:#db2777}.cs-match-allfromcalendar{background:#fef3c7;color:#d97706}.cs-match-titleregex{background:#fce7f3;color:#db2777}.cs-match-categorymatch{background:#f3e8ff;color:#9333ea}.cs-match-combined{background:#e0e7ff;color:#4338ca}.cs-rule-actions{display:flex;align-items:center;gap:var(--spacing-2)}.cs-rule-details{display:flex;align-items:center;gap:var(--spacing-3);margin-top:var(--spacing-2);flex-wrap:wrap}.cs-rule-target{font-size:var(--text-xs);color:var(--text-secondary)}.cs-rule-auto{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-xs);color:var(--color-primary-600)}.cs-rule-billable{font-size:var(--text-xs);color:#059669;font-weight:var(--font-medium)}.cs-toggle{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.cs-toggle input{opacity:0;width:0;height:0}.cs-toggle-slider{position:absolute;inset:0;background:var(--bg-tertiary);border-radius:10px;transition:var(--transition-all)}.cs-toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:var(--transition-all)}.cs-toggle input:checked+.cs-toggle-slider{background:var(--color-primary-500, #6366f1)}.cs-toggle input:checked+.cs-toggle-slider:before{transform:translate(16px)}.cs-connection-expanded{padding:12px 16px;border-top:1px solid var(--color-border-200, #e2e8f0);display:flex;flex-direction:column;gap:16px}.cs-section-title{font-size:13px;font-weight:600;color:var(--color-text-primary, #1e293b);margin:0 0 8px;display:flex;align-items:center;gap:6px}.cs-writeback-config{padding:12px;background:var(--color-bg-50, #f8fafc);border-radius:8px;border:1px solid var(--color-border-200, #e2e8f0)}.cs-writeback-desc{font-size:12px;color:var(--color-text-muted, #64748b);margin:0 0 12px}.cs-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;color:var(--color-text-primary, #1e293b);cursor:pointer}.cs-writeback-details{display:flex;flex-direction:column;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-200, #e2e8f0)}.cs-form-group{display:flex;flex-direction:column;gap:4px}.cs-form-label{font-size:12px;font-weight:500;color:var(--color-text-secondary, #475569)}.cs-form-select,.cs-form-input{padding:6px 10px;border:1px solid var(--color-border-200, #e2e8f0);border-radius:6px;font-size:13px;background:var(--color-bg-white, #fff);color:var(--color-text-primary, #1e293b)}.cs-form-select:focus,.cs-form-input:focus{outline:none;border-color:var(--color-primary-500, #6366f1);box-shadow:0 0 0 2px var(--color-primary-100, #e0e7ff)}.cs-form-hint{font-size:11px;color:var(--color-text-muted, #94a3b8)}.cs-connect-ics:hover{border-color:#f59e0b}.cs-provider-ics{background:#fef3c7;color:#d97706}.cs-ics-form{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-4);border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-secondary)}.cs-ics-form-row{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-3);align-items:end}.cs-form-color{width:40px;height:36px;padding:2px;border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;background:var(--bg-primary)}.cs-ics-section{display:flex;flex-direction:column;gap:var(--spacing-3);margin-top:var(--spacing-4)}.cs-ics-section .cs-section-title{display:flex;align-items:center;gap:var(--spacing-2)}.cs-ics-card{border-left:3px solid #f59e0b}.cs-reports{display:flex;flex-direction:column;gap:var(--spacing-4)}.cs-report-controls{display:flex;flex-direction:column;gap:var(--spacing-3)}.cs-report-view-tabs{display:flex;gap:var(--spacing-2);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-2)}.cs-report-view-btn{display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.85rem;transition:all .2s}.cs-report-view-btn:hover{background:var(--bg-secondary)}.cs-report-view-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.cs-report-actions{display:flex;gap:var(--spacing-2)}.cs-utilization-gauge{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-4) 0}.cs-gauge-circle{position:relative;width:120px;height:120px}.cs-gauge-circle svg{width:100%;height:100%}.cs-gauge-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.4rem;font-weight:700;color:var(--text-primary)}.cs-gauge-label{margin-top:var(--spacing-2);font-size:.85rem;color:var(--text-secondary)}.cs-report-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-3);margin-top:var(--spacing-3)}.cs-stat-card{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-3);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.cs-stat-value{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.cs-stat-label{font-size:.75rem;color:var(--text-secondary);margin-top:var(--spacing-1)}.cs-daily-breakdown{margin-top:var(--spacing-4)}.cs-daily-breakdown h4{margin-bottom:var(--spacing-2);font-size:.9rem;color:var(--text-primary)}.cs-daily-chart{display:flex;align-items:flex-end;gap:var(--spacing-2);height:120px;padding:var(--spacing-2) 0}.cs-daily-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.cs-daily-bars{flex:1;display:flex;gap:2px;align-items:flex-end;width:100%}.cs-daily-bar{flex:1;border-radius:2px 2px 0 0;min-height:2px;transition:height .3s}.cs-bar-scheduled{background:var(--border-color)}.cs-bar-tracked{background:var(--accent-color)}.cs-daily-label{font-size:.65rem;color:var(--text-secondary);margin-top:var(--spacing-1);white-space:nowrap}.cs-chart-legend{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-2);font-size:.75rem;color:var(--text-secondary)}.cs-legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:var(--spacing-1);vertical-align:middle}.cs-category-breakdown{margin-top:var(--spacing-4)}.cs-category-breakdown h4{margin-bottom:var(--spacing-2);font-size:.9rem;color:var(--text-primary)}.cs-category-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.cs-category-item{display:flex;flex-direction:column;gap:var(--spacing-1)}.cs-category-info{display:flex;justify-content:space-between;font-size:.85rem}.cs-category-name{color:var(--text-primary);font-weight:500}.cs-category-hours{color:var(--text-secondary)}.cs-category-bar-track{height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.cs-category-bar-fill{height:100%;background:var(--accent-color);border-radius:3px;transition:width .3s}.cs-comparison-list{margin-top:var(--spacing-3)}.cs-comparison-list h4{margin-bottom:var(--spacing-2);font-size:.9rem}.cs-comparison-item{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:var(--spacing-2)}.cs-comparison-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-1)}.cs-comparison-status{font-size:.7rem;padding:2px 6px;border-radius:3px;color:#fff;font-weight:600;text-transform:uppercase}.cs-comparison-title{font-size:.85rem;color:var(--text-primary);font-weight:500}.cs-comparison-details{display:flex;gap:var(--spacing-3);font-size:.8rem;color:var(--text-secondary)}.cs-gap-list{margin-top:var(--spacing-3)}.cs-gap-list h4{margin-bottom:var(--spacing-2);font-size:.9rem}.cs-gap-item{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:var(--spacing-2)}.cs-gap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-1)}.cs-gap-type{font-size:.7rem;padding:2px 6px;border-radius:3px;font-weight:600}.cs-gap-type-untracked{background:#fef3c7;color:#92400e}.cs-gap-type-extra{background:#dbeafe;color:#1e40af}.cs-gap-duration{font-size:.85rem;font-weight:600;color:var(--text-primary)}.cs-gap-details{display:flex;flex-direction:column;gap:var(--spacing-1);font-size:.8rem;color:var(--text-secondary)}.cs-gap-time{font-size:.75rem}.cs-gap-event,.cs-gap-entry{display:flex;align-items:center;gap:var(--spacing-1)}.cs-more-indicator{text-align:center;padding:var(--spacing-2);font-size:.8rem;color:var(--text-secondary);font-style:italic}.toast-container{position:fixed;top:var(--spacing-6);right:var(--spacing-6);z-index:3000;display:flex;flex-direction:column;gap:var(--spacing-3);pointer-events:none}.toast{pointer-events:auto;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--border-light);max-width:480px;min-width:320px;opacity:0;transform:translate(120%) scale(.92);transition:all .35s cubic-bezier(.25,.46,.45,.94);overflow:hidden;display:flex;align-items:center}.toast-visible{opacity:1;transform:translate(0) scale(1);animation:slideInBounce .5s ease-out}@keyframes slideInBounce{0%{opacity:0;transform:translate(120%) scale(.92)}50%{opacity:.8;transform:translate(-8px) scale(1.02)}to{opacity:1;transform:translate(0) scale(1)}}.toast-exit{opacity:0;transform:translate(120%) scale(.92);transition:all .25s cubic-bezier(.55,.085,.68,.53)}.toast-content{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-5) var(--spacing-6);position:relative;flex:1;min-width:0}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px;width:24px;height:24px;border-radius:var(--radius-full);background:var(--bg-secondary);position:relative}.toast-text{flex:1;min-width:0}.toast-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--spacing-1);line-height:1.4}.toast-message{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;word-wrap:break-word;flex:1;min-width:0}.toast-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-1);border-radius:var(--radius-md);transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;align-self:center}.toast-close svg{display:block}.toast-close:hover{background:var(--bg-secondary);color:var(--text-secondary);transform:scale(1.1)}.toast-actions{display:flex;align-items:center;gap:var(--spacing-2);padding-right:var(--spacing-4);flex-shrink:0}.toast-action-btn{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-xs);font-weight:var(--font-medium);transition:all .2s ease;white-space:nowrap}.toast-action-btn:hover{background:var(--bg-tertiary);border-color:var(--color-primary-300);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.toast-close-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-1);border-radius:var(--radius-md);transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;line-height:1;width:24px;height:24px}.toast-close-btn:hover{background:var(--bg-secondary);color:var(--text-secondary);transform:scale(1.1)}.toast-success{background:#fff;border:2px solid var(--color-success-500);border-left:4px solid var(--color-success-500)}.toast-success .toast-icon{background:var(--color-success-500);color:#fff;box-shadow:0 4px 12px #22c55e4d}.toast-error{background:#fff;border:2px solid var(--color-error-500);border-left:4px solid var(--color-error-500)}.toast-error .toast-icon{background:var(--color-error-500);color:#fff;box-shadow:0 4px 12px #ef44444d}.toast-error .toast-action-btn{background:var(--color-error-500);border-color:var(--color-error-500);color:#fff}.toast-error .toast-action-btn:hover{background:var(--color-error-600);border-color:var(--color-error-600);transform:translateY(-1px)}.toast-warning{background:#fff;border:2px solid var(--color-warning-500);border-left:4px solid var(--color-warning-500)}.toast-warning .toast-icon{background:var(--color-warning-500);color:#fff;box-shadow:0 4px 12px #f59e0b4d}.toast-info{background:#fff;border:2px solid var(--color-primary-500);border-left:4px solid var(--color-primary-500)}.toast-info .toast-icon{background:var(--color-primary-500);color:#fff;box-shadow:0 4px 12px #3b82f64d}@media(max-width:768px){.toast-container{top:var(--spacing-4);right:var(--spacing-4);left:var(--spacing-4)}.toast{max-width:none;min-width:auto}.toast-content{padding:var(--spacing-4) var(--spacing-5)}.toast-actions{padding-right:var(--spacing-3)}.toast-title{font-size:var(--text-sm)}.toast-message{font-size:var(--text-xs)}.toast-action-btn{padding:var(--spacing-1) var(--spacing-2);font-size:var(--text-xs)}}@media(prefers-color-scheme:dark){.toast{background:var(--bg-primary);box-shadow:var(--shadow-2xl)}.toast-success{background:var(--bg-primary);border:2px solid var(--color-success-500);border-left:4px solid var(--color-success-500)}.toast-error{background:var(--bg-primary);border:2px solid var(--color-error-500);border-left:4px solid var(--color-error-500)}.toast-warning{background:var(--bg-primary);border:2px solid var(--color-warning-500);border-left:4px solid var(--color-warning-500)}.toast-info{background:var(--bg-primary);border:2px solid var(--color-primary-500);border-left:4px solid var(--color-primary-500)}}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{overflow:visible;text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar *:before,.rbc-calendar *:after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{overflow:hidden;position:absolute;inset:0}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{overflow:hidden;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;text-align:center;vertical-align:middle;font-weight:700;font-size:90%;min-height:0;border-bottom:1px solid #ddd}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;background:none;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.rbc-row-content{position:relative;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{height:100%;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px;font-size:16px}.rbc-toolbar .rbc-toolbar-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{color:#373a3c;display:inline-block;margin:0;text-align:center;vertical-align:middle;background:none;background-image:none;border:1px solid #ccc;padding:.375rem 1rem;border-radius:4px;line-height:normal;white-space:nowrap}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media(max-width:767px){.rbc-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{border:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;margin:0;padding:2px 5px;background-color:#3174ad;border-radius:5px;color:#fff;cursor:pointer;width:100%;text-align:left}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{-webkit-box-shadow:-1px 1px 5px 0px rgba(51,51,51,.5);box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;z-index:4;font-weight:700;font-size:85%;height:auto;line-height:normal;color:#3174ad}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{position:relative;border:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;height:100%}.rbc-month-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-month-row{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px;overflow:hidden;height:100%}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:hidden;right:1px}.rbc-day-bg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{position:absolute;z-index:5;border:1px solid #e5e5e5;background-color:#fff;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.25);box-shadow:0 5px 15px #00000040;padding:10px}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{width:100%;border:1px solid #ddd;border-spacing:0;border-collapse:collapse}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{padding:3px 5px;text-align:left;border-bottom:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{-webkit-box-flex:1;-ms-flex:1;flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.rbc-time-gutter,.rbc-header-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{inset:0;position:absolute;margin-right:10px}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;display:-webkit-box;display:-ms-flexbox;display:flex;max-height:100%;min-height:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{-webkit-box-flex:0;-ms-flex:none;flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{width:100%;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;word-wrap:break-word;line-height:1;height:100%;min-height:1em}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{position:sticky;left:0;background-color:#fff;border-right:1px solid #ddd;z-index:10;margin-right:-1px}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{min-width:auto;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{width:140px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;position:absolute;background-color:#00000080;color:#fff;font-size:75%;width:100%;padding:3px}.rbc-slot-selecting{cursor:move}.rbc-time-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;border:1px solid #ddd;min-height:0}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{-webkit-box-sizing:border-box;box-sizing:border-box;min-height:20px}.rbc-time-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-right-width:0;border-left:1px solid #ddd}.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left:1px solid #ddd}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;-ms-flex-negative:0;flex-shrink:0}.rbc-time-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%;border-top:2px solid #ddd;overflow-y:auto;position:relative}.rbc-time-content>.rbc-time-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rbc-current-time-indicator{position:absolute;z-index:3;left:0;right:0;height:1px;background-color:#74ad31;pointer-events:none}.rbc-resource-grouping.rbc-time-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.rbc-addons-dnd .rbc-addons-dnd-row-body{position:relative}.rbc-addons-dnd .rbc-addons-dnd-drag-row{position:absolute;top:0;left:0;right:0}.rbc-addons-dnd .rbc-addons-dnd-over{background-color:#0000004d}.rbc-addons-dnd .rbc-event{transition:opacity .15s}.rbc-addons-dnd .rbc-event:hover .rbc-addons-dnd-resize-ns-icon,.rbc-addons-dnd .rbc-event:hover .rbc-addons-dnd-resize-ew-icon{display:block}.rbc-addons-dnd .rbc-addons-dnd-dragged-event{opacity:0}.rbc-addons-dnd.rbc-addons-dnd-is-dragging .rbc-event:not(.rbc-addons-dnd-dragged-event):not(.rbc-addons-dnd-drag-preview){opacity:.5}.rbc-addons-dnd .rbc-addons-dnd-resizable{position:relative;width:100%;height:100%}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor{width:100%;text-align:center;position:absolute}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor:first-child{top:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor:last-child{bottom:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor .rbc-addons-dnd-resize-ns-icon{display:none;border-top:3px double;margin:0 auto;width:10px;cursor:ns-resize}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor{position:absolute;top:4px;bottom:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor:first-child{left:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor:last-child{right:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor .rbc-addons-dnd-resize-ew-icon{display:none;border-left:3px double;margin-top:auto;margin-bottom:auto;height:10px;cursor:ew-resize}.calendar-page{padding:var(--spacing-8);width:100%;max-width:100vw;height:100vh;display:flex;flex-direction:column;overflow-x:hidden;box-sizing:border-box}.calendar-filters{background:var(--bg-primary);padding:var(--spacing-6);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-6);display:flex;flex-wrap:wrap;gap:var(--spacing-8);align-items:center;border:1px solid var(--border-primary)}.calendar-filters .project-filter{display:flex;align-items:center;gap:var(--spacing-4)}.calendar-filters .project-filter label{font-weight:var(--font-semibold);color:var(--text-primary);display:flex;align-items:center;white-space:nowrap}.calendar-filters .project-filter-select{min-width:200px;max-width:280px}.calendar-sync-btn{display:flex;align-items:center;gap:var(--spacing-2);margin-left:auto;padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--color-primary-400);border-radius:var(--radius-lg);background:var(--color-primary-100);color:var(--color-primary-600);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-all);white-space:nowrap}.calendar-sync-btn:hover{background:var(--color-primary-200, var(--color-primary-100));box-shadow:var(--shadow-sm)}.calendar-container{flex:1;background:var(--bg-primary);border-radius:var(--radius-2xl);padding:var(--spacing-6);box-shadow:var(--shadow-md);overflow:auto;border:1px solid var(--border-primary)}.rbc-calendar{height:100%!important}.rbc-header{background:var(--bg-secondary)!important;color:var(--text-primary)!important;font-weight:var(--font-semibold)!important;padding:var(--spacing-4) var(--spacing-2)!important;border-bottom:2px solid var(--border-primary)!important}.rbc-month-view{border:1px solid var(--border-primary)!important;border-radius:var(--radius-md)!important}.rbc-row{position:relative!important}.rbc-month-row{min-height:120px!important}.rbc-row-content{position:relative!important}.rbc-row-segment{padding:2px!important}.rbc-day-bg{flex:1 0 0%!important}.rbc-date-cell{padding:var(--spacing-2)!important;text-align:right!important;min-height:28px!important}.rbc-date-cell button{color:var(--text-primary)!important;font-weight:var(--font-medium)!important;min-width:28px!important;min-height:28px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.rbc-today{background:var(--color-primary-50)!important}.calendar-today .rbc-date-cell button{background:var(--color-primary-500)!important;color:var(--text-white)!important;border-radius:50%!important;width:2rem!important;height:2rem!important}.rbc-off-range-bg{background:var(--bg-secondary)!important}.rbc-off-range .rbc-date-cell button{color:var(--border-secondary)!important}.rbc-event{border-radius:var(--radius-sm)!important;border:none!important;font-size:.75rem!important;font-weight:var(--font-medium)!important;padding:4px 8px!important;margin:2px!important;min-height:26px!important;line-height:1.3!important;display:block!important}.calendar-event{display:flex!important;align-items:center!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;width:100%!important}.calendar-event-content{display:flex;flex-direction:row;align-items:center;gap:4px;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.event-project{font-size:.6rem;opacity:.8;font-weight:var(--font-normal)}.rbc-event:focus,.rbc-event:hover{outline:2px solid var(--color-primary-500)!important;outline-offset:2px!important}.rbc-toolbar{margin-bottom:var(--spacing-4)!important;padding:var(--spacing-4) 0!important;border-bottom:2px solid var(--bg-secondary)!important}.rbc-toolbar button{background:var(--bg-secondary)!important;border:1px solid var(--border-primary)!important;color:var(--text-primary)!important;padding:var(--spacing-2) var(--spacing-4)!important;border-radius:var(--radius-md)!important;font-weight:var(--font-medium)!important;transition:var(--transition-all)!important}.rbc-toolbar button:hover{background:var(--bg-tertiary)!important;border-color:var(--border-secondary)!important}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background:var(--color-primary-500)!important;border-color:var(--color-primary-500)!important;color:var(--text-white)!important}.rbc-toolbar-label{font-size:var(--text-xl)!important;font-weight:var(--font-bold)!important;color:var(--text-primary)!important;margin:0 var(--spacing-4)!important}.rbc-time-view{border:1px solid var(--border-primary)!important;border-radius:var(--radius-md)!important}.rbc-time-header{border-bottom:2px solid var(--border-primary)!important}.rbc-time-content{border-top:none!important}.rbc-timeslot-group{border-bottom:1px solid var(--bg-secondary)!important}.rbc-time-slot{border-top:1px solid var(--bg-secondary)!important}.rbc-current-time-indicator{background-color:var(--color-error-500)!important;height:2px!important}.rbc-overlay{background:var(--bg-primary)!important;border:1px solid var(--border-primary)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-2xl)!important;padding:var(--spacing-4)!important;max-height:450px!important;min-width:280px!important;overflow-y:auto!important;z-index:var(--z-popover, 1000)!important;scrollbar-width:thin!important;scrollbar-color:var(--border-secondary) var(--bg-secondary)!important}.rbc-overlay::-webkit-scrollbar{width:6px!important}.rbc-overlay::-webkit-scrollbar-track{background:var(--bg-secondary)!important;border-radius:var(--radius-sm)!important}.rbc-overlay::-webkit-scrollbar-thumb{background:var(--border-secondary)!important;border-radius:var(--radius-sm)!important}.rbc-overlay::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)!important}.rbc-overlay-header{border-bottom:2px solid var(--border-primary)!important;padding:var(--spacing-3) var(--spacing-2)!important;margin-bottom:var(--spacing-3)!important;font-weight:var(--font-bold)!important;font-size:var(--text-base)!important;color:var(--text-primary)!important;position:sticky!important;top:0!important;background:var(--bg-primary)!important;z-index:1!important}.rbc-show-more{color:var(--color-primary-600)!important;background:var(--color-primary-alpha-10)!important;border:1px solid var(--color-primary-200)!important;padding:4px 8px!important;margin:2px!important;font-size:.7rem!important;font-weight:var(--font-semibold)!important;cursor:pointer!important;text-align:center!important;width:calc(100% - 4px)!important;border-radius:var(--radius-sm)!important;transition:var(--transition-fast)!important;display:block!important;box-shadow:var(--shadow-sm)!important;position:relative!important;z-index:2!important;min-height:26px!important;line-height:18px!important}.rbc-show-more:hover{background:var(--color-primary-500)!important;color:var(--text-white)!important;border-color:var(--color-primary-500)!important;transform:translateY(-1px)!important;box-shadow:var(--shadow-md)!important}.rbc-overlay .rbc-event{padding:var(--spacing-3)!important;margin-bottom:var(--spacing-2)!important;border-radius:var(--radius-md)!important;cursor:pointer!important;transition:var(--transition-fast)!important;border:1px solid rgba(255,255,255,.2)!important}.rbc-overlay .rbc-event:hover{transform:translate(4px)!important;box-shadow:var(--shadow-md)!important;opacity:.9!important}.rbc-overlay .rbc-event:last-child{margin-bottom:0!important}.rbc-overlay .calendar-event-content{flex-direction:column!important;align-items:flex-start!important;gap:var(--spacing-1)!important}.rbc-overlay .event-title{font-size:.875rem!important;font-weight:var(--font-semibold)!important;white-space:normal!important;line-height:1.4!important}.rbc-overlay .event-duration,.rbc-overlay .event-project,.rbc-overlay .event-billable{font-size:.75rem!important;opacity:.95!important}.event-tooltip{position:absolute;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--spacing-4);box-shadow:var(--shadow-xl);z-index:var(--z-tooltip);min-width:200px}.event-tooltip h4{margin:0 0 var(--spacing-2) 0;color:var(--text-primary);font-size:var(--text-base)}.event-tooltip p{margin:var(--spacing-1) 0;color:var(--text-secondary);font-size:var(--text-sm)}.event-tooltip button{margin-top:var(--spacing-2);padding:var(--spacing-1) var(--spacing-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-all)}.event-tooltip button:hover{background:var(--bg-tertiary)}.rbc-addons-dnd .rbc-addons-dnd-over{background-color:var(--color-primary-alpha-10)!important;border:2px dashed var(--color-primary-500)!important}.rbc-addons-dnd .rbc-addons-dnd-drag-preview{opacity:.7!important;transform:rotate(3deg)!important;box-shadow:var(--shadow-2xl)!important}.rbc-addons-dnd .rbc-event.rbc-addons-dnd-dragging{opacity:.3!important}.rbc-addons-dnd .rbc-event.rbc-addons-dnd-drag-source{cursor:move!important}.rbc-addons-dnd .rbc-event.rbc-addons-dnd-resize-ns-anchor,.rbc-addons-dnd .rbc-event.rbc-addons-dnd-resize-ew-anchor{cursor:col-resize!important}.rbc-addons-dnd .rbc-event:hover{cursor:grab!important}.rbc-addons-dnd .rbc-event:active{cursor:grabbing!important}.rbc-addons-dnd .rbc-addons-dnd-resize-anchor{background:var(--color-primary-500)!important;border:1px solid var(--text-white)!important;width:6px!important;height:6px!important;border-radius:50%!important}.rbc-addons-dnd .rbc-addons-dnd-resize-anchor:hover{background:var(--color-primary-600)!important;transform:scale(1.2)!important}.rbc-day-slot.rbc-addons-dnd-drop-target{background-color:var(--color-primary-alpha-10)!important;transition:var(--transition-base)!important}.rbc-event-content{pointer-events:none}.rbc-event.rbc-addons-dnd-dragging .rbc-event-content{opacity:.5}.calendar-sync-toggle-btn{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-all);white-space:nowrap}.calendar-sync-toggle-btn:hover{background:var(--bg-tertiary);border-color:var(--border-secondary)}.calendar-sync-toggle-btn.active{background:var(--color-primary-100);border-color:var(--color-primary-400);color:var(--color-primary-600)}.cs-spinner-inline{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.calendar-synced-content{display:flex;align-items:center;gap:4px}.synced-event-indicator{font-size:8px;opacity:.7;flex-shrink:0}.event-duration-text{font-size:.65rem;opacity:.7;flex-shrink:0}.synced-event-removed{color:var(--color-error-500);font-size:10px;font-weight:var(--font-bold);flex-shrink:0}.synced-event-linked{color:var(--color-success-500, #22c55e);font-size:10px;font-weight:var(--font-bold);flex-shrink:0}.calendar-synced-deleted{opacity:.5}@media(max-width:768px){.calendar-page{padding:var(--spacing-4);overflow-x:auto}.calendar-header{flex-direction:column;gap:var(--spacing-4)}.calendar-container{padding:var(--spacing-4);min-width:600px}.rbc-toolbar{flex-direction:column!important;gap:var(--spacing-4)!important}.rbc-btn-group{display:flex!important;justify-content:center!important}.event-tooltip{position:fixed!important;left:var(--spacing-4)!important;right:var(--spacing-4)!important;top:50%!important;transform:translateY(-50%)!important;max-width:none!important}.rbc-addons-dnd .rbc-event{touch-action:manipulation}.rbc-addons-dnd .rbc-addons-dnd-resize-anchor{width:10px!important;height:10px!important}.rbc-month-row{min-height:110px!important}.rbc-event{min-height:24px!important;font-size:.7rem!important;padding:3px 6px!important}.rbc-show-more{font-size:.65rem!important;padding:3px 6px!important;min-height:24px!important;line-height:16px!important}.rbc-overlay{max-height:70vh!important;min-width:240px!important;max-width:90vw!important}}.device-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.device-card{background:#fff;border-radius:16px;padding:40px;max-width:480px;width:100%;box-shadow:0 10px 40px #0003}.device-card h1{margin:0 0 8px;font-size:28px;font-weight:700;color:#1a1a2e;text-align:center}.device-card .subtitle{color:#666;text-align:center;margin-bottom:32px;font-size:16px}.code-input-container{margin-bottom:24px}.code-input-container label{display:block;font-weight:600;margin-bottom:8px;color:#333}.code-input-container input{width:100%;padding:16px;font-size:32px;font-family:SF Mono,Monaco,Consolas,monospace;text-align:center;letter-spacing:4px;border:2px solid #e0e0e0;border-radius:12px;outline:none;transition:border-color .2s,box-shadow .2s;text-transform:uppercase;box-sizing:border-box}.code-input-container input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.code-input-container input::placeholder{color:#ccc;letter-spacing:2px}.code-input-container .btn-primary{width:100%;margin-top:16px}.error-message{background:#fee2e2;color:#b91c1c;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.auth-info{border-top:1px solid #e0e0e0;padding-top:24px}.auth-info h2{font-size:18px;margin:0 0 16px;color:#1a1a2e}.info-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-row .label{color:#666;font-weight:500}.info-row .value{color:#1a1a2e;font-weight:600}.warning{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:16px;margin:24px 0}.warning strong{color:#b45309;display:block;margin-bottom:8px}.warning p{margin:0;color:#92400e;font-size:14px}.button-row{display:flex;gap:16px;margin-top:24px}.button-row button{flex:1}.btn-primary,.btn-secondary,.btn-danger{padding:14px 24px;font-size:16px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-danger{background:#fee2e2;color:#b91c1c}.btn-danger:hover:not(:disabled){background:#fecaca}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.device-card.success{text-align:center}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:48px;color:#fff}.device-card.success h1{color:#059669}.device-card.success p{color:#666;margin-bottom:8px}.device-card.success .hint{color:#9ca3af;font-size:14px;margin-bottom:24px}@media(max-width:520px){.device-card{padding:24px}.device-card h1{font-size:24px}.code-input-container input{font-size:24px;padding:12px;letter-spacing:2px}.button-row{flex-direction:column-reverse}}.profile-page{width:100%;max-width:100vw;min-height:calc(100vh - 200px);padding:var(--spacing-8);box-sizing:border-box}.profile-message{padding:var(--spacing-4) var(--spacing-6);border-radius:var(--radius-md);margin-bottom:var(--spacing-6);font-weight:var(--font-medium);animation:slideDown .3s ease-out}.profile-message.success{background:var(--color-success-100);color:var(--color-success-800);border:1px solid var(--color-success-300)}.profile-message.error{background:var(--color-error-100);color:var(--color-error-800);border:1px solid var(--color-error-300)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-container{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-6)}.profile-section{background:var(--bg-primary);border-radius:var(--radius-2xl);padding:var(--spacing-8);box-shadow:var(--shadow-md);border:1px solid var(--border-primary)}.profile-section h2{margin:0 0 var(--spacing-6) 0;font-size:var(--text-xl);color:var(--text-primary)}.profile-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6)}.profile-section-header h2{margin:0}.profile-avatar-section{display:flex;gap:var(--spacing-8);align-items:center}.profile-avatar-large{width:120px;height:120px;border-radius:50%;overflow:hidden;background:var(--color-primary-500);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg)}.profile-avatar-large img{width:100%;height:100%;object-fit:cover}.profile-avatar-placeholder{font-size:2.5rem;font-weight:var(--font-semibold);color:#fff}.profile-avatar-actions{display:flex;flex-direction:column;gap:.75rem}.profile-avatar-hint{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.profile-avatar-hint small{color:var(--text-tertiary);font-style:italic}.profile-form{display:flex;flex-direction:column;gap:1.5rem}.profile-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.profile-field{display:flex;flex-direction:column;gap:.5rem}.profile-field label{display:flex;align-items:center;gap:.5rem;font-weight:var(--font-medium);color:var(--text-primary);font-size:.875rem}.profile-field input,.profile-field select{padding:var(--spacing-3);border:2px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-base);transition:var(--transition-all);background:var(--bg-primary);color:var(--text-primary)}.profile-field input:focus,.profile-field select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.profile-field input.disabled,.profile-field input:disabled{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed;opacity:.6}.profile-field small{font-size:.8125rem;color:var(--text-secondary)}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:3rem}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:var(--text-primary)}.profile-form-actions{display:flex;gap:.75rem;margin-top:.5rem}.profile-info-display{display:flex;flex-direction:column;gap:1.5rem}.profile-info-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.profile-info-item{display:flex;flex-direction:column;gap:.5rem}.profile-info-item label{font-size:.875rem;font-weight:var(--font-medium);color:var(--text-secondary)}.profile-info-value{font-size:var(--text-base);color:var(--text-primary);padding:var(--spacing-2) 0}.profile-info-value code{background:var(--bg-secondary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:Courier New,monospace;color:var(--text-primary)}.status-badge{display:inline-flex;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium)}.status-badge.active,.status-badge.verified{background:var(--color-success-100);color:var(--color-success-700)}.status-badge.inactive,.status-badge.unverified{background:var(--color-error-100);color:var(--color-error-700)}.profile-security-hint{margin:0;padding:var(--spacing-4);background:var(--color-primary-50);border-left:3px solid var(--color-primary-500);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}@media(max-width:768px){.profile-page{padding:1rem}.profile-section{padding:1.5rem}.profile-form-row,.profile-info-row{grid-template-columns:1fr}.profile-avatar-section{flex-direction:column;text-align:center}.profile-section-header{flex-direction:column;align-items:flex-start;gap:1rem}.profile-form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;justify-content:center}}.unauthorized-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem}.unauthorized-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:3rem;max-width:600px;width:100%;text-align:center}.unauthorized-icon{color:#f59e0b;margin-bottom:1.5rem;display:flex;justify-content:center}.unauthorized-title{font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.unauthorized-message{font-size:1.125rem;color:#6b7280;margin-bottom:1.5rem;line-height:1.6}.unauthorized-role-info{background:#f3f4f6;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.unauthorized-role-info p{margin:0;color:#4b5563;font-size:1rem}.role-badge{display:inline-block;padding:.25rem .75rem;background:#3b82f6;color:#fff;border-radius:9999px;font-size:.875rem;font-weight:600;text-transform:capitalize;margin-left:.5rem}.unauthorized-help{color:#6b7280;font-size:.95rem;margin-bottom:2rem;line-height:1.5}.unauthorized-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db;transform:translateY(-2px)}.unauthorized-footer{text-align:left;background:#f9fafb;border-radius:8px;padding:1.5rem;margin-top:2rem}.unauthorized-footer h3{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.75rem}.unauthorized-footer ul{list-style:none;padding:0;margin:0}.unauthorized-footer li{color:#6b7280;font-size:.9rem;padding:.5rem 0 .5rem 1.5rem;position:relative}.unauthorized-footer li:before{content:"•";position:absolute;left:.5rem;color:#3b82f6;font-weight:700}@media(max-width:640px){.unauthorized-container{padding:2rem 1.5rem}.unauthorized-title{font-size:2rem}.unauthorized-actions{flex-direction:column}.btn{width:100%;justify-content:center}}.app{min-height:100vh;width:100%;max-width:100vw;background-color:var(--bg-secondary);overflow-x:hidden}.main-content{width:100%;max-width:100vw;margin:0;padding:0;overflow-x:hidden}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary)}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);color:var(--color-primary-600);font-size:var(--text-sm);font-weight:var(--font-medium)}.loading-spinner:before{content:"";width:32px;height:32px;border:3px solid var(--border-primary);border-top-color:var(--color-primary-500);border-radius:var(--radius-full);animation:spin var(--duration-1000) linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-4);animation:fadeIn var(--duration-200) ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.project-form{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-8);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-2xl);animation:slideUp var(--duration-300) ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.project-form h2{margin:0 0 var(--spacing-6) 0;color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold)}.project-form .form-group{margin-bottom:var(--spacing-4)}.project-form .form-group label{display:block;margin-bottom:var(--spacing-2);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-primary)}.project-form .form-group input,.project-form .form-group textarea{width:100%;padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);transition:var(--transition-all);box-sizing:border-box}.project-form .form-group input:focus,.project-form .form-group textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--color-primary-100)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.color-picker{display:flex;gap:var(--spacing-2);flex-wrap:wrap}.color-option{width:2rem;height:2rem;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:var(--transition-all);position:relative}.color-option:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.color-option.selected{border-color:var(--text-primary);transform:scale(1.15);box-shadow:var(--shadow-lg)}.color-option.selected:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:var(--font-bold);font-size:var(--text-sm);text-shadow:0 1px 2px rgba(0,0,0,.5)}.form-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end;margin-top:var(--spacing-8);padding-top:var(--spacing-6);border-top:1px solid var(--border-primary)}.cancel-button,.save-button{padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-lg);font-weight:var(--font-semibold);font-size:var(--text-base);cursor:pointer;transition:var(--transition-all);border:none}.cancel-button{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.cancel-button:hover{background:var(--bg-tertiary);border-color:var(--border-secondary)}.save-button{background:var(--color-primary-500);color:var(--text-white);box-shadow:var(--shadow-sm)}.save-button:hover{background:var(--color-primary-600);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.save-button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.save-button:disabled,.cancel-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@media(max-width:768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.project-form{padding:var(--spacing-6)}}
