@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);-webkit-user-select:none;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;-webkit-user-select:none;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;-webkit-user-select:none;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:var(--spacing-2);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.5}.terms-agreement{margin:0}.terms-text{flex:1;line-height:1.5}.checkbox-label input[type=checkbox]{width:18px;height:18px;min-width:18px;border:2px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;margin:0;flex-shrink:0;appearance:none;background:var(--bg-primary);transition:var(--transition-all);position:relative}.checkbox-label input[type=checkbox]:checked{background-color:var(--color-checkbox);border-color:var(--color-checkbox)}.checkbox-label input[type=checkbox]:checked:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}.checkbox-label input[type=checkbox]:hover{border-color:var(--color-checkbox-hover)}.checkbox-label input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px var(--color-checkbox-focus)}.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)}.header{display:grid;grid-template-columns:minmax(auto,200px) 1fr minmax(auto,420px);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:1400px){.header{grid-template-columns:minmax(150px,180px) 1fr minmax(320px,400px);gap:var(--spacing-2)}}@media(max-width:1200px){.header{grid-template-columns:minmax(120px,160px) 1fr minmax(280px,360px);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4)}}@media(max-width:1024px){.header{grid-template-columns:minmax(100px,140px) 1fr minmax(240px,320px);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: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: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:180px}.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{display:none}.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-2)}.user-menu-trigger{padding:var(--spacing-2)}.user-name{display:none}.header-org-switcher .org-switcher-button{min-width:140px}}.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}@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;-webkit-user-select:none;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}.manual-entry-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.manual-entry-form{background:#fff;border-radius:1rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px #00000026}.form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-primary)}.form-header h2{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:var(--font-semibold)}.close-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:#fff3cd;border-radius:.5rem;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.close-button:hover{background:var(--border-primary);color:var(--text-primary)}.form-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem;width:100%}.form-group .project-select-wrapper,.form-group .project-select-dropdown,.form-group .project-select-wrapper select,.form-group .project-select-dropdown button{width:100%!important;max-width:100%!important}.form-group label{font-weight:var(--font-semibold);color:var(--text-primary);font-size:.875rem}.form-input,.task-select{padding:.75rem;border:1px solid var(--border-primary);border-radius:.5rem;font-size:.875rem;transition:border-color .2s ease;background:#fff;width:100%}.form-input:focus,.task-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled,.task-select:disabled{background:var(--bg-secondary);cursor:not-allowed}.manual-entry-form .checkbox-group{justify-content:center}.manual-entry-form .checkbox-label{display:flex;align-items:center;gap:.5rem;justify-content:flex-start;cursor:pointer;font-weight:var(--font-medium);position:relative;-webkit-user-select:none;user-select:none;width:100%;padding:.75rem;background:#fff;border:1px solid var(--border-primary);border-radius:.5rem;box-sizing:border-box;font-size:.875rem;line-height:20px}.manual-entry-form .checkbox-label .checkbox-input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.manual-entry-form .checkbox-custom{position:relative;width:1.25rem;height:1.25rem;background:#fff;border:2px solid var(--border-primary);border-radius:.25rem;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.manual-entry-form .checkbox-custom:after{content:"";position:absolute;display:none;left:50%;top:50%;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}.manual-entry-form .checkbox-label:hover .checkbox-custom{border-color:var(--color-primary-500)}.manual-entry-form .checkbox-input:checked~.checkbox-custom{background:var(--color-primary-500);border-color:var(--color-primary-500)}.manual-entry-form .checkbox-input:checked~.checkbox-custom:after{display:block}.manual-entry-form .checkbox-input:focus~.checkbox-custom{box-shadow:0 0 0 3px #3b82f61a}.manual-entry-form .checkbox-text{color:var(--text-primary)}.duration-display{background:var(--color-primary-50);padding:1rem;border-radius:.5rem;text-align:center;color:var(--color-primary-800);margin:1rem 0}.error{color:var(--color-error-500);font-size:.75rem;font-weight:var(--font-medium)}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.form-actions .cancel-button{padding:.75rem 1.5rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:.5rem;font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease}.form-actions .cancel-button:hover{background:var(--border-primary)}.form-actions .cancel-button:disabled{opacity:.5;cursor:not-allowed}.form-actions .save-button{padding:.75rem 1.5rem;background:var(--color-primary-500);color:#fff;border:none;border-radius:.5rem;font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;min-width:120px}.form-actions .save-button:hover:not(:disabled){background:var(--color-primary-600)}.form-actions .save-button:active:not(:disabled){background:var(--color-primary-700);transform:scale(.98)}.form-actions .save-button:disabled{background:var(--color-primary-500)!important;color:#fff!important;opacity:.7;cursor:not-allowed}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.tag-selector{position:relative;width:100%}.tag-button{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;padding:.75rem;width:100%;background:#fff;border:1px solid var(--border-primary);border-radius:.5rem;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease;position:relative;box-sizing:border-box}.tag-button:hover{border-color:var(--color-primary-500);color:var(--color-primary-500)}.tag-button svg{flex-shrink:0;width:20px;height:20px}.tag-count-badge{position:absolute;top:-6px;right:-6px;background:var(--color-primary-500);color:#fff;font-size:10px;font-weight:var(--font-bold);min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 2px 4px #0000001a}.time-field-wrapper{display:flex;align-items:center;gap:.5rem}.time-field{position:relative;flex:1}.time-display-button{width:100%;padding:.75rem;background:#fff;border:1px solid var(--border-primary);border-radius:.5rem;font-size:.875rem;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease;text-align:left}.time-display-button:hover{border-color:var(--color-primary-500);background:var(--color-primary-50)}.calendar-icon-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background:#fff;border:1px solid var(--border-primary);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.calendar-icon-btn:hover{border-color:var(--color-primary-500);background:var(--color-primary-50);color:var(--color-primary-500)}@media(max-width:768px){.manual-entry-overlay{padding:.5rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}}.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:auto}.description-input::placeholder{color:var(--color-text-tertiary)!important;font-weight:400}.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;-webkit-user-select:none;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}}.delete-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex!important;align-items:center;justify-content:center;z-index:9999;padding:2rem;animation:fadeIn .2s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.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;display:flex;flex-direction:column}.delete-confirm-actions .delete-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef444440}.delete-confirm-actions .delete-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 16px #ef444459;transform:translateY(-1px)}.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:8px;flex-wrap:nowrap}.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;-webkit-user-select:none;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)}.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{padding:.5rem;border:1px solid var(--border-primary);border-radius:.375rem;background:#fff;font-size:.875rem;min-width:140px;transition:border-color .2s ease}@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)}.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}}.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;-webkit-backdrop-filter:blur(4px);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)}.time-entry-item:hover{background-color:var(--bg-tertiary)}.time-entry-item:last-child{border-bottom:none}.entry-main{display:flex;align-items:start;padding:var(--spacing-4) var(--spacing-6);gap:var(--spacing-4);position:relative}.entry-project{display:flex;align-items:flex-start;gap:var(--spacing-3);width:200px;flex-shrink:0;font-size:var(--text-sm)}.project-color{width:.75rem;height:.75rem;border-radius:50%;flex-shrink:0;margin-top:calc((1.4em - .75rem)/2)}.project-info{min-width:0;flex:1}.project-name{font-weight:var(--font-semibold);color:var(--text-primary);display:block;font-size:var(--text-sm);line-height:1.4}.task-name{color:var(--text-secondary);font-size:var(--text-xs);display:block;margin-top:.125rem;line-height:1.4}.entry-details{min-width:0;flex:1;display:flex;flex-direction:column;gap:var(--spacing-1)}.entry-description-row{display:flex;align-items:center;gap:var(--spacing-4);justify-content:space-between;width:100%}.entry-description{color:var(--text-primary);font-size:var(--text-sm);word-break:break-word;overflow-wrap:break-word;line-height:1.4;white-space:normal;flex:1}.entry-meta{display:flex;gap:var(--spacing-4);align-items:center;font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--spacing-1)}.entry-time,.entry-earnings{display:flex;align-items:center;gap:var(--spacing-1)}.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:var(--spacing-1);flex-shrink:0;min-width:100px;justify-content:flex-end;height:2rem}.billable-indicator{color:var(--color-success-500);font-size:var(--text-xs)}.entry-actions{display:flex;gap:var(--spacing-2);justify-content:flex-end;align-items:center;flex-shrink:0;height:2rem}.continue-button,.edit-button,.delete-button,.save-button,.cancel-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.375rem;border:none;cursor:pointer;transition:all .2s ease}.continue-button{background:var(--color-success-500);color:#fff}.continue-button:hover{background:var(--color-success-600)}.edit-button{background:var(--color-warning-500);color:#fff}.edit-button:hover{background:var(--color-warning-600)}.delete-button{background:var(--color-error-500);color:#fff}.delete-button:hover{background:var(--color-error-600)}.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;-webkit-user-select:none;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}.entry-tags{display:flex;align-items:center;gap:.25rem;color:var(--color-text-secondary);font-size:.8125rem}.entry-tags svg{color:var(--color-text-tertiary);flex-shrink:0}@media(max-width:768px){.entry-main{grid-template-columns:1fr;gap:.75rem}.entry-actions{justify-content:flex-start}.entry-meta{flex-direction:column;align-items:flex-start;gap:.25rem}}.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;-webkit-user-select:none;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)}.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-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}}.summary-chart{padding:var(--spacing-8)}.chart-header{margin-bottom:var(--spacing-8);text-align:center}.chart-header h3{margin:0 0 var(--spacing-2) 0;color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-semibold)}.chart-header p{margin:0;color:var(--text-secondary);font-size:var(--text-base)}.chart-container{height:400px;position:relative;margin-bottom:var(--spacing-8)}.chart-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-6);background:var(--bg-tertiary);padding:var(--spacing-6);border-radius:var(--radius-xl);margin-top:var(--spacing-8)}.insight-item{display:flex;flex-direction:column;gap:var(--spacing-1);text-align:center}.insight-item strong{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.insight-item span{color:var(--color-primary-500);font-size:var(--text-lg);font-weight:var(--font-bold)}@media(max-width:768px){.summary-chart{padding:var(--spacing-4)}.chart-container{height:300px}.chart-insights{grid-template-columns:1fr;gap:var(--spacing-4)}}.project-breakdown{padding:2rem}.breakdown-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.breakdown-header h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.5rem;font-weight:var(--font-semibold)}.breakdown-summary{display:flex;gap:2rem;align-items:center}.summary-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem;font-weight:var(--font-medium)}.breakdown-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.chart-section{display:flex;flex-direction:column}.chart-container{height:400px;position:relative;flex:1}.stats-section{display:flex;flex-direction:column}.stats-section h4{margin:0 0 1rem;color:var(--text-primary);font-size:1.125rem;font-weight:var(--font-semibold)}.project-stats-list{display:flex;flex-direction:column;gap:1.5rem}.project-stat-item{background:var(--bg-secondary);border-radius:.75rem;padding:1rem;border:1px solid var(--bg-secondary);transition:all .2s ease}.project-stat-item:hover{background:var(--bg-secondary);border-color:var(--border-primary)}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.project-info{display:flex;align-items:center;gap:.75rem;flex:1}.project-color-dot{width:.75rem;height:.75rem;border-radius:50%;flex-shrink:0}.project-name{font-weight:var(--font-semibold);color:var(--text-primary);font-size:.875rem}.project-hours{font-weight:var(--font-bold);color:var(--color-primary-500);font-size:1rem}.project-metrics{display:flex;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.metric{display:flex;align-items:center;gap:.25rem;color:var(--text-secondary);font-size:.75rem}.task-breakdown{margin:.75rem 0}.task-breakdown h5{margin:0 0 .5rem;color:var(--text-primary);font-size:.75rem;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.task-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.75rem}.task-name{color:var(--text-primary)}.task-hours{color:var(--text-secondary);font-weight:var(--font-medium)}.task-item.more{color:var(--color-gray-400);font-style:italic}.progress-bar{width:100%;height:.25rem;background:var(--border-primary);border-radius:.125rem;overflow:hidden;margin-top:.75rem}.progress-fill{height:100%;border-radius:.125rem;transition:width .3s ease}@media(max-width:768px){.project-breakdown{padding:1rem}.breakdown-header{flex-direction:column;gap:1rem}.breakdown-summary{flex-direction:column;align-items:flex-start;gap:.5rem}.breakdown-content{grid-template-columns:1fr}.chart-container{height:300px}.project-metrics{flex-direction:column;gap:.5rem}}.productivity-chart{padding:var(--spacing-8)}.productivity-header{margin-bottom:var(--spacing-8);text-align:center}.productivity-header h3{margin:0 0 var(--spacing-2) 0;color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-semibold)}.productivity-header p{margin:0;color:var(--text-secondary);font-size:var(--text-base)}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-8)}.insight-card{background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--spacing-4);display:flex;align-items:center;gap:var(--spacing-3);border:1px solid var(--border-secondary);transition:var(--transition-all)}.insight-card:hover{background:var(--bg-secondary);transform:translateY(-1px)}.insight-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-md);background:var(--color-primary-50);color:var(--color-primary-500);flex-shrink:0}.insight-content{flex:1;min-width:0}.insight-value{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);line-height:1;margin-bottom:var(--spacing-1)}.insight-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--font-medium);line-height:1}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-8);margin-bottom:var(--spacing-8)}.chart-section{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm)}.chart-section h4{margin:0 0 var(--spacing-4) 0;color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.chart-container{height:300px;position:relative}.productivity-tips{background:var(--color-warning-50);border-radius:var(--radius-xl);padding:var(--spacing-6);border:1px solid var(--color-warning-200)}.productivity-tips h4{margin:0 0 var(--spacing-4) 0;color:var(--color-warning-800);font-size:var(--text-base);font-weight:var(--font-semibold);display:flex;align-items:center;gap:var(--spacing-2)}.tips-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.tip{display:flex;align-items:flex-start;gap:var(--spacing-2);color:var(--color-warning-800);font-size:var(--text-sm);line-height:1.4}.tip svg{margin-top:.125rem;flex-shrink:0}@media(max-width:768px){.productivity-chart{padding:var(--spacing-4)}.insights-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.insight-card{flex-direction:column;text-align:center;gap:.5rem}.insight-icon{width:2rem;height:2rem}.insight-value{font-size:1rem}.charts-grid{grid-template-columns:1fr;gap:1rem}.chart-container{height:250px}.chart-section{padding:1rem}}.billable-report{padding:var(--spacing-8)}.billable-header{margin-bottom:var(--spacing-8)}.billable-header h3{margin:0 0 var(--spacing-2) 0;color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-semibold)}.billable-header p{margin:0;color:var(--text-secondary);font-size:var(--text-base)}.billable-stats{display:flex;flex-direction:column;gap:var(--spacing-4);margin-bottom:var(--spacing-8)}.billable-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-6);margin-bottom:var(--spacing-8)}.summary-card{background:linear-gradient(135deg,var(--color-auth-purple) 0%,var(--color-auth-purple-dark) 100%);border-radius:var(--radius-xl);padding:var(--spacing-6);color:var(--text-white);position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:#ffffff1a;border-radius:50%;transform:translate(30px,-30px)}.summary-card.earnings{background:linear-gradient(135deg,#11998e,#38ef7d)}.summary-card.billable{background:linear-gradient(135deg,var(--color-auth-purple) 0%,var(--color-auth-purple-dark) 100%)}.summary-card.non-billable{background:linear-gradient(135deg,#f093fb,#f5576c)}.summary-card.efficiency{background:linear-gradient(135deg,#ffecd2,#fcb69f);color:var(--text-secondary)}.summary-value{font-size:var(--text-4xl);font-weight:var(--font-bold);margin-bottom:var(--spacing-1);position:relative;z-index:1}.summary-label{font-size:var(--text-sm);opacity:.9;font-weight:var(--font-medium);position:relative;z-index:1}.billable-breakdown{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-8)}.breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:2px solid var(--border-secondary)}.breakdown-header h4{margin:0;color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold)}.breakdown-total{color:var(--color-success-600);font-size:var(--text-lg);font-weight:var(--font-bold)}.project-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.project-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border-secondary);transition:var(--transition-all)}.project-item:hover{background:var(--bg-secondary);transform:translate(4px)}.project-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.project-name{font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--spacing-1)}.project-details{display:flex;gap:var(--spacing-4);font-size:var(--text-sm);color:var(--text-secondary)}.billable-hours,.billable-rate{display:flex;align-items:center;gap:var(--spacing-1)}.project-earnings{text-align:right}.total-earnings{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-success-600)}.earnings-breakdown{font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--spacing-1)}.no-billable-data{text-align:center;padding:var(--spacing-12) var(--spacing-4);color:var(--text-secondary)}.no-billable-data svg{margin-bottom:var(--spacing-4);color:var(--border-primary)}.no-billable-data h4{margin:0 0 var(--spacing-2) 0;color:var(--text-primary);font-size:var(--text-lg)}.no-billable-data p{margin:0;font-size:.875rem}.rate-indicator{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#3b82f61a;border-radius:.375rem;font-size:.75rem;color:var(--color-primary-500);font-weight:var(--font-medium)}.rate-indicator.hourly{background:#10b9811a;color:var(--color-success-500)}.rate-indicator.fixed{background:#f59e0b1a;color:var(--color-warning-500)}.project-earnings-table{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-8)}.project-earnings-table h4{margin:0 0 var(--spacing-4) 0;color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold)}.project-earnings-table .table-container{overflow-x:auto}.project-earnings-table table{width:100%;border-collapse:collapse}.project-earnings-table thead th{text-align:left;padding:var(--spacing-3) var(--spacing-4);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);border-bottom:2px solid var(--border-secondary)}.project-earnings-table tbody td{padding:var(--spacing-3) var(--spacing-4);font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border-tertiary);vertical-align:middle}.project-earnings-table tbody tr:last-child td{border-bottom:none}.project-earnings-table tbody tr:hover{background:var(--bg-tertiary)}.billable-report .billing-tips{background:linear-gradient(135deg,rgba(var(--color-warning-500-rgb, 245, 158, 11),.1),rgba(var(--color-warning-400-rgb, 251, 191, 36),.05));border-radius:var(--radius-xl);padding:var(--spacing-6);border-left:4px solid var(--color-warning-500);display:flex!important;flex-direction:column!important}.billable-report .billing-tips h4{margin:0 0 var(--spacing-2) 0;color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);display:block;width:100%}.billable-report .billing-tips ul{margin:0;padding-left:var(--spacing-6);list-style-type:disc;width:100%}.billable-report .billing-tips li{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--spacing-2)}.billable-report .billing-tips li:last-child{margin-bottom:0}@media(max-width:768px){.billable-report{padding:1rem}.billable-summary{grid-template-columns:1fr}.summary-value{font-size:1.5rem}.breakdown-header{flex-direction:column;align-items:flex-start;gap:.5rem}.project-item{flex-direction:column;align-items:flex-start;gap:1rem}.project-details{flex-wrap:wrap}.project-earnings{text-align:left;align-self:stretch}.total-earnings{font-size:1.125rem}.project-earnings-table{padding:var(--spacing-4)}.project-earnings-table table{font-size:var(--text-xs)}.project-earnings-table thead th,.project-earnings-table tbody td{padding:var(--spacing-2) var(--spacing-3)}}.report-filters{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;display:flex;flex-wrap:wrap;gap:2rem;align-items:flex-start}.filter-section{display:flex;flex-direction:column;gap:1rem}.filter-label{display:flex;align-items:center;gap:.5rem;font-weight:var(--font-semibold);color:var(--text-primary);font-size:.875rem}.preset-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.preset-button{padding:.5rem 1rem;border:1px solid var(--border-primary);border-radius:.5rem;background:#fff;color:var(--text-primary);font-size:.875rem;font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease;white-space:nowrap}.preset-button:hover{border-color:var(--color-primary-500);color:var(--color-primary-500)}.preset-button.active{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.custom-date-section{display:flex;gap:1rem;align-items:center;margin-top:2.25rem}.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:.5rem;font-size:.875rem;min-width:140px;transition:border-color .2s ease}.dropdown-filter{min-width:200px}.filter-select{padding:.5rem;border:1px solid var(--border-primary);border-radius:.5rem;font-size:.875rem;min-width:200px;background:#fff;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.filter-select:hover{border-color:var(--color-primary-500)}.filter-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.filter-select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--background-tertiary)}@media(max-width:768px){.report-filters{flex-direction:column;align-items:flex-start;gap:1rem}.filter-section{width:100%}.dropdown-filter{min-width:100%}.preset-buttons{width:100%}.preset-button{flex:1;text-align:center}.custom-date-section{flex-direction:column;align-items:flex-start;width:100%}.date-input-group{width:100%}.date-input{flex:1;min-width:0}.filter-select{width:100%;min-width:0}}.filter-multiselect{min-width:200px;max-width:280px}@media(max-width:768px){.filter-multiselect{width:100%;min-width:0;max-width:100%}}.reports-page{padding:2rem;width:100%;max-width:1400px;margin:0 auto;box-sizing:border-box}.export-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-all)}.export-button:hover:not(:disabled){background:var(--bg-tertiary)}.export-button:disabled{opacity:.5;cursor:not-allowed}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2rem;width:100%;grid-auto-rows:1fr}.stat-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #00000014;display:flex;align-items:flex-start;gap:1rem;transition:all .2s ease;border:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden;min-width:0;box-sizing:border-box;min-height:140px}.stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-primary-500);opacity:0;transition:opacity .2s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:#00000014}.stat-card:hover:before{opacity:1}.stat-icon{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:.875rem;background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-primary-100) 100%);color:var(--color-primary-600);flex-shrink:0;box-shadow:0 2px 8px #3b82f626}.stat-icon.billable{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#16a34a;box-shadow:0 2px 8px #16a34a26}.stat-icon.earnings{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706;box-shadow:0 2px 8px #d9770626}.stat-icon.entries{background:linear-gradient(135deg,#fce7f3,#fbcfe8);color:#db2777;box-shadow:0 2px 8px #db277726}.stat-icon.average{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#6366f1;box-shadow:0 2px 8px #6366f126}.stat-icon.percentage{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669;box-shadow:0 2px 8px #05966926}.stat-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.stat-value{font-size:clamp(1.25rem,1.5vw + .5rem,1.875rem);font-weight:700;color:#111827;line-height:1.2;letter-spacing:-.02em;word-break:break-word;overflow-wrap:break-word;max-width:100%;-webkit-hyphens:auto;hyphens:auto}.stat-label{font-size:.8125rem;color:#6b7280;font-weight:500;line-height:1.4;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-tabs{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-8);background:var(--bg-primary);padding:var(--spacing-2);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);border:1px solid var(--border-primary)}.tab-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);border:none;border-radius:var(--radius-xl);background:transparent;color:var(--text-secondary);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-all);flex:1;justify-content:center}.tab-button:hover{color:var(--text-primary);background:var(--bg-secondary)}.tab-button.active{background:var(--color-primary-500);color:var(--text-white);box-shadow:var(--shadow-primary)}.report-content{background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);overflow:hidden;border:1px solid var(--border-primary)}.empty-report{text-align:center;padding:var(--spacing-16) var(--spacing-8);color:var(--text-secondary)}.empty-report h3{margin:var(--spacing-4) 0 var(--spacing-2) 0;color:var(--text-primary);font-size:var(--text-xl)}.empty-report p{margin:0;font-size:var(--text-base)}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.reports-page{padding:1rem;max-width:100%}.reports-header{flex-direction:column;gap:1rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1.25rem;min-height:120px}.stat-icon{width:3rem;height:3rem}.stat-value{font-size:clamp(1.125rem,2vw,1.5rem)}.report-tabs{flex-direction:column;gap:.25rem}.tab-button{justify-content:flex-start}}@media(max-width:600px){.reports-page{padding:.75rem}.stat-card{padding:1rem;min-height:110px}.stat-value{font-size:clamp(1rem,2.5vw,1.25rem)}.stat-label{font-size:.75rem}}.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}}.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-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}@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}}.billing-calculator{padding:var(--spacing-8);background:var(--bg-primary)}.billing-controls-section{margin-bottom:var(--spacing-8)}.controls-group{display:flex;flex-wrap:nowrap;gap:var(--spacing-4);align-items:center;padding:var(--spacing-4) var(--spacing-6);background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-primary)}.date-range-controls{display:flex;align-items:center;gap:var(--spacing-3)}.controls-spacer{flex:1}.date-input{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-primary);color:var(--text-primary);transition:var(--transition-fast);height:38px}.date-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.date-separator{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.project-filter{display:flex;align-items:center;gap:var(--spacing-3)}.project-filter label{font-weight:var(--font-semibold);color:var(--text-primary);display:flex;align-items:center;white-space:nowrap;font-size:var(--text-sm)}.project-filter-select{min-width:200px;max-width:280px}.select-wrapper{position:relative}.project-select{padding:.5rem var(--spacing-3);padding-right:2.5rem;border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-primary);color:var(--text-primary);width:160px!important;min-width:160px!important;max-width:160px!important;flex:0 0 160px!important;transition:var(--transition-fast);height:45px!important;line-height:normal;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;box-sizing:border-box;vertical-align:middle}.billing-calculator .select-wrapper{position:relative;width:160px!important;flex:0 0 160px!important}.project-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.generate-invoice-btn{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-medium);font-size:var(--text-sm);transition:all .2s ease;height:38px}.generate-invoice-btn:hover:not(:disabled){background:var(--bg-primary);border-color:var(--border-hover);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.generate-invoice-btn:active:not(:disabled){transform:translateY(0)}.generate-invoice-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;background:var(--bg-disabled);color:var(--text-disabled)}.billing-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-6);margin-bottom:var(--spacing-12);grid-auto-rows:1fr}.stat-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--spacing-6);display:flex;align-items:center;gap:var(--spacing-4);transition:var(--transition-all);min-width:0;min-height:130px}.stat-icon{padding:var(--spacing-3);border-radius:var(--radius-xl);background:var(--gradient-primary);color:var(--text-white);display:flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px}.stat-icon.clock-icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-icon.dollar-icon{background:linear-gradient(135deg,#10b981,#059669)}.stat-icon.trending-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.stat-icon.settings-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-content{flex:1;min-width:0;overflow:hidden}.stat-content .stat-value{font-size:clamp(1.25rem,1.5vw,1.75rem);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--spacing-1);word-break:break-word;overflow-wrap:break-word;line-height:1.3;max-width:100%}.stat-content .stat-label{font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--spacing-1);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-content .stat-sub{font-size:var(--text-sm);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.billing-breakdown{background:var(--bg-secondary);border-radius:var(--radius-2xl);padding:var(--spacing-6);border:1px solid var(--border-primary)}.billing-breakdown h3{display:flex;align-items:center;gap:var(--spacing-3);margin:0 0 var(--spacing-6) 0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary)}.empty-state h4{margin:0 0 var(--spacing-2) 0;color:var(--text-primary);font-size:var(--text-lg)}.breakdown-table{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--border-primary);background:var(--bg-primary)}.breakdown-table table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.breakdown-table th,.breakdown-table td{padding:var(--spacing-4) var(--spacing-5);text-align:left;border-bottom:1px solid var(--border-primary)}.breakdown-table thead{background:var(--bg-tertiary)}.breakdown-table th{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.breakdown-table td{color:var(--text-secondary)}.breakdown-table tbody tr{transition:var(--transition-fast)}.breakdown-table tbody tr:hover{background:var(--bg-tertiary)}.breakdown-table tbody tr:last-child td{border-bottom:none}.project-cell{display:flex;flex-direction:column;gap:var(--spacing-1)}.project-name{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-sm)}.project-rate{font-size:var(--text-xs);color:var(--text-tertiary)}.total-cell{font-weight:var(--font-bold);color:var(--text-primary)}.invoice-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--spacing-4)}.invoice-modal{background:var(--bg-primary);border-radius:var(--radius-2xl);width:100%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-2xl)}.invoice-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);border-bottom:1px solid var(--border-primary)}.invoice-header h3{margin:0;color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold)}.invoice-actions{display:flex;gap:var(--spacing-2)}.btn{padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-all);border:none}.invoice-content{padding:var(--spacing-10);background:#fff}.invoice-info{margin-bottom:var(--spacing-10);padding-bottom:var(--spacing-6);border-bottom:3px solid var(--color-primary-500)}.invoice-info h4{margin:0 0 var(--spacing-6) 0;color:var(--color-primary-600);font-size:2rem;font-weight:var(--font-bold);letter-spacing:-.02em}.invoice-info p{margin:var(--spacing-2) 0;color:var(--text-primary);font-size:var(--text-sm);line-height:1.6}.invoice-info p strong{display:inline-block;min-width:80px;color:var(--text-secondary);font-weight:var(--font-semibold)}.invoice-items table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-10);font-size:var(--text-sm);box-shadow:0 1px 3px #0000000d;border-radius:var(--radius-lg);overflow:hidden}.invoice-items th,.invoice-items td{padding:var(--spacing-4);text-align:left}.invoice-items th:not(:first-child),.invoice-items td:not(:first-child){text-align:right}.invoice-items th{background:linear-gradient(135deg,var(--color-primary-600),var(--color-primary-700));color:#fff;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;border:none}.invoice-items td{border-bottom:1px solid var(--border-primary);color:var(--text-primary)}.invoice-items tbody tr:last-child td{border-bottom:none}.invoice-items tbody tr:hover{background:var(--bg-tertiary)}.invoice-totals{margin-left:auto;max-width:350px;background:var(--bg-secondary);padding:var(--spacing-6);border-radius:var(--radius-xl);box-shadow:0 2px 8px #0000000f}.total-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) 0;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium)}.total-row span:last-child{font-weight:var(--font-semibold)}.total-row.final-total{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-primary-600);border-top:2px solid var(--border-primary);padding-top:var(--spacing-4);margin-top:var(--spacing-3)}.invoice-notes{margin-top:var(--spacing-10);padding:var(--spacing-6);background:var(--bg-tertiary);border-left:4px solid var(--color-primary-500);border-radius:var(--radius-md)}.invoice-notes h5{margin:0 0 var(--spacing-3) 0;color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em}.invoice-notes p{margin:0;color:var(--text-secondary);font-style:italic;font-size:var(--text-sm);line-height:1.6}.loading-state{text-align:center;padding:var(--spacing-16)}.loading-state .spin{animation:spin 1s linear infinite}@media(max-width:1200px){.billing-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.billing-calculator{padding:var(--spacing-4)}.controls-group{flex-direction:column;align-items:stretch}.date-range-controls{min-width:auto}.project-select{width:100%}.generate-invoice-btn{width:100%;justify-content:center}.billing-stats{grid-template-columns:1fr}.stat-card{padding:var(--spacing-6);min-height:120px}.stat-content .stat-value{font-size:clamp(1.125rem,2.5vw,1.5rem)}.breakdown-table{font-size:var(--text-xs)}.breakdown-table th,.breakdown-table td{padding:var(--spacing-3)}.invoice-modal{margin:var(--spacing-2);max-height:95vh}.invoice-content{padding:var(--spacing-6)}.invoice-info h4{font-size:1.5rem}.invoice-items table{font-size:.75rem}.invoice-items th,.invoice-items td{padding:var(--spacing-2)}.invoice-totals{max-width:100%;padding:var(--spacing-4)}.total-row.final-total{font-size:var(--text-xl)}.invoice-header{flex-direction:column;gap:var(--spacing-4);align-items:stretch}.invoice-actions{flex-direction:column}.btn{width:100%;justify-content:center}}@media(max-width:480px){.billing-stats{grid-template-columns:1fr}.stat-card{padding:var(--spacing-4);min-height:110px;gap:var(--spacing-4)}.stat-icon{padding:var(--spacing-3)}.stat-content .stat-value{font-size:clamp(1rem,3.5vw,1.25rem)}.stat-content .stat-label,.stat-content .stat-sub{font-size:var(--text-xs)}.invoice-content{padding:var(--spacing-4)}.invoice-info h4{font-size:1.25rem}.invoice-items table{font-size:.7rem}.invoice-items th,.invoice-items td{padding:var(--spacing-2)}.invoice-totals{padding:var(--spacing-3)}.total-row{font-size:.75rem}.total-row.final-total{font-size:var(--text-lg)}}@media print{@page{margin:.5cm}html,body{height:auto!important;margin:0!important;padding:0!important}header{display:none!important}.billing-page>.page-header,.billing-page>.billing-tabs{display:none!important}.billing-calculator>*:not(.invoice-modal-overlay){display:none!important}.invoice-modal-overlay{display:block!important;visibility:visible!important}.invoice-modal-overlay{position:static!important;background:transparent!important;padding:0!important;margin:0!important;display:block!important}.invoice-modal{max-width:100%!important;box-shadow:none!important;border-radius:0!important;margin:0!important;padding:0!important}.invoice-header{display:none!important}.invoice-content{padding:0!important;margin:0!important}.invoice-info{margin-bottom:20px!important;padding-bottom:15px!important;page-break-inside:avoid}.invoice-info h4{color:#3b82f6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-info p{margin:5px 0!important}.invoice-items{margin-bottom:20px!important}.invoice-items table{page-break-inside:avoid;box-shadow:none!important;border:1px solid #e5e7eb;margin-bottom:15px!important}.invoice-items thead{background:#3b82f6!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-items th,.invoice-items td{padding:10px!important}.invoice-items tbody tr:hover{background:transparent!important}.invoice-totals{page-break-inside:avoid;margin:15px 0!important;background:#f3f4f6!important;padding:15px!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.total-row{padding:8px 0!important}.total-row.final-total{color:#3b82f6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-notes{page-break-inside:avoid;margin-top:20px!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.rate-manager{padding:var(--spacing-8);background:var(--bg-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-12) var(--spacing-4);text-align:center;color:var(--text-secondary)}.empty-state svg{margin-bottom:var(--spacing-4);opacity:.4;color:var(--text-tertiary)}.empty-state h3{margin:0 0 var(--spacing-2) 0;color:var(--text-primary);font-size:var(--text-lg)}.empty-state p{margin:0;max-width:420px;color:var(--text-secondary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-6)}.project-rate-card{display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:var(--radius-2xl);padding:var(--spacing-6);box-shadow:var(--shadow-md);border:1px solid var(--border-primary);transition:var(--transition-all)}.project-rate-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--color-primary-300)}.project-header{display:flex;align-items:flex-start;gap:var(--spacing-4);margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--border-primary);min-height:80px}.project-color{width:1rem;height:1rem;border-radius:var(--radius-sm);margin-top:var(--spacing-1);flex-shrink:0;box-shadow:var(--shadow-sm)}.project-info{flex:1;min-width:0;display:flex;flex-direction:column}.project-info h3{margin:0 0 var(--spacing-2) 0;color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);word-break:break-word}.project-description{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.rate-info{margin-bottom:var(--spacing-4);flex-grow:0;flex-shrink:0}.rate-display{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);padding:var(--spacing-5);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary)}.rate-label{color:var(--text-secondary);font-weight:var(--font-semibold);font-size:var(--text-sm)}.rate-value{color:var(--color-primary-600);font-weight:var(--font-bold);font-size:var(--text-xl)}.rate-details{display:flex;flex-wrap:wrap;gap:var(--spacing-2);font-size:var(--text-xs)}.rate-type,.overtime-rate,.tax-rate{padding:var(--spacing-1) var(--spacing-3);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-md);font-weight:var(--font-medium);border:1px solid var(--border-primary)}.edit-rate-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3) var(--spacing-4);background:var(--gradient-primary);color:var(--text-white);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-semibold);font-size:var(--text-sm);transition:var(--transition-all);box-shadow:var(--shadow-primary);margin-top:auto}.edit-rate-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.edit-rate-btn:active{transform:translateY(0)}.rate-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--spacing-4)}.rate-modal{background:var(--bg-primary);border-radius:var(--radius-2xl);width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-2xl);display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);border-bottom:1px solid var(--border-primary);flex-shrink:0}.modal-header h3{margin:0;color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold)}.close-btn{background:none;border:none;cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-md);color:var(--text-secondary);transition:var(--transition-fast);display:flex;align-items:center;justify-content:center}.close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-content{padding:var(--spacing-8);flex:1}.form-section{margin-bottom:var(--spacing-8);border:none;padding-bottom:0}.form-section:last-child{margin-bottom:0;border-bottom:none}.form-section h4{margin:0 0 var(--spacing-4) 0;color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold)}.rate-type-selector{display:grid;gap:var(--spacing-3)}.rate-type-option{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4);border:2px solid var(--border-primary);border-radius:var(--radius-xl);cursor:pointer;transition:var(--transition-all);background:var(--bg-secondary)}.rate-type-option:hover{border-color:var(--color-primary-500);background:var(--bg-tertiary);transform:translate(2px)}.rate-type-option input[type=radio]{margin:0;accent-color:var(--color-primary-600);width:1.2rem;height:1.2rem;cursor:pointer}.rate-type-option input[type=radio]:checked~.option-content{color:var(--color-primary-600)}.rate-type-option:has(input[type=radio]:checked){border-color:var(--color-primary-600);background:#3b82f60d}.option-content{flex:1}.option-label{font-weight:var(--font-semibold);margin-bottom:var(--spacing-1);font-size:var(--text-base)}.option-desc{font-size:var(--text-sm);color:var(--text-secondary)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-4);align-items:end}.form-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.form-group label{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-sm)}.form-group input,.form-group select{padding:var(--spacing-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);transition:var(--transition-fast);width:100%;background:var(--bg-primary);color:var(--text-primary)}.select-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.5rem;cursor:pointer}.select-icon{position:absolute;right:var(--spacing-3);top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-3);padding-top:var(--spacing-6);margin-top:0;border:none}.btn{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);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-all);border:none}.btn-outline{background:transparent;color:var(--text-secondary);border:1px solid var(--border-primary)}.btn-outline:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-primary{background:var(--gradient-primary);color:var(--text-white);box-shadow:var(--shadow-primary)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-primary:active{transform:translateY(0)}@media(max-width:768px){.rate-manager{padding:var(--spacing-4)}.projects-grid{grid-template-columns:1fr}.rate-modal{margin:var(--spacing-2);max-height:95vh}.modal-content{padding:var(--spacing-4)}.form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column;gap:var(--spacing-2)}.btn{width:100%;justify-content:center}.project-rate-card{padding:var(--spacing-4)}}.billing-page{min-height:100vh;background:var(--gradient-light);padding:var(--spacing-8);width:100%;max-width:100vw;box-sizing:border-box}.billing-tabs{display:flex;gap:var(--spacing-1);background:var(--bg-secondary);padding:var(--spacing-1);border-radius:var(--radius-md);margin-bottom:var(--spacing-8)}.tab-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);font-weight:var(--font-medium);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;flex:1;justify-content:center}.billing-content{background:var(--bg-primary);border-radius:var(--radius-3xl);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--border-primary)}@media(max-width:768px){.billing-page{padding:var(--spacing-4)}.billing-tabs{flex-direction:column;gap:var(--spacing-2)}.tab-button{flex:none}}@media(max-width:480px){.billing-tabs{margin:0 -1rem 1.5rem;border-radius:0}}.tab-button:focus{outline:2px solid var(--color-primary-600);outline-offset:2px}.billing-content{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.user-selector{width:100%;max-width:1200px}.user-search{margin-bottom:var(--spacing-8)}.search-container{position:relative;max-width:500px;margin:0 auto}.search-input{width:100%;padding:var(--spacing-6) var(--spacing-8);font-size:var(--text-xl);border:none;border-radius:25px;background:#ffffffe6;color:var(--text-primary);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);outline:none;transition:var(--transition-all)}.search-input:focus{background:#fff;box-shadow:var(--shadow-xl);transform:translateY(-2px)}.search-input::placeholder{color:var(--text-secondary)}.user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-6);max-height:60vh;overflow-y:auto;padding:var(--spacing-4) 0}.user-card{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-8) var(--spacing-6);background:#ffffffe6;border:none;border-radius:20px;cursor:pointer;transition:var(--transition-all);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);min-height:200px;justify-content:center}.user-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px #0003;background:#fff}.user-card:active{transform:translateY(-4px)}.user-avatar-large{font-size:4rem;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--color-auth-purple) 0%,var(--color-auth-purple-dark) 100%);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;border:3px solid rgba(255,255,255,.5);box-shadow:0 4px 16px #0000001a}.user-info{text-align:center}.user-info h4{margin:0 0 .5rem;font-size:1.4rem;font-weight:var(--font-semibold);color:var(--text-primary)}.user-department{margin:0;font-size:1rem;color:var(--text-secondary);font-weight:var(--font-normal)}.pin-indicator{margin-top:.5rem;font-size:.9rem;color:var(--text-secondary);font-style:italic}.add-user-card{border:2px dashed rgba(255,255,255,.5);background:#ffffff1a}.add-user-card:hover{border-color:#fffc;background:#fff3}.add-icon{background:#fff3;color:#fff;border:2px dashed rgba(255,255,255,.5)}.pin-input-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:500px;text-align:center}.pin-user-info{margin-bottom:3rem}.pin-avatar{font-size:5rem;width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--color-auth-purple) 0%,var(--color-auth-purple-dark) 100%);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;border:4px solid rgba(255,255,255,.5)}.pin-user-info h3{color:#fff;font-size:2rem;margin-bottom:.5rem}.pin-user-info p{color:#fffc;font-size:1.2rem}.pin-input-container{margin-bottom:2rem}.pin-input{padding:var(--spacing-6) var(--spacing-8);font-size:1.8rem;border:none;border-radius:15px;background:#ffffffe6;text-align:center;letter-spacing:.5rem;width:250px;outline:none;box-shadow:0 8px 32px #0000001a}.pin-buttons{display:flex;gap:1rem;justify-content:center}.pin-btn{padding:1rem 2rem;font-size:1.2rem;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;min-width:120px}.cancel-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.cancel-btn:hover{background:#ffffff4d}.submit-btn{background:linear-gradient(135deg,var(--color-success-500),var(--color-success-600));color:#fff}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--color-success-600),var(--color-success-700))}.submit-btn:disabled{background:#ffffff1a;color:#ffffff80;cursor:not-allowed}.new-user-form{max-width:500px;margin:0 auto;padding:3rem 2rem;background:#ffffffe6;border-radius:20px;box-shadow:0 16px 48px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.new-user-form h3{text-align:center;color:var(--text-primary);font-size:2rem;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:var(--font-semibold);color:var(--text-primary);font-size:1.1rem}.form-input{width:100%;padding:1rem 1.5rem;font-size:1.1rem;border:2px solid rgba(0,0,0,.1);border-radius:12px;background:#fff;outline:none;transition:all .2s ease}.form-input:focus{border-color:var(--color-auth-purple);box-shadow:0 0 0 3px #667eea1a}.form-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.form-btn{padding:1rem 2rem;font-size:1.1rem;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;min-width:120px}.no-users-message,.empty-state{text-align:center;padding:3rem 2rem;color:#fff}.no-users-message h3,.empty-state h3{font-size:2rem;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.no-users-message p,.empty-state p{font-size:1.2rem;margin-bottom:2rem;color:#ffffffe6}.add-user-btn{padding:1rem 2rem;font-size:1.2rem;background:#fff3;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.add-user-btn:hover{background:#ffffff4d;transform:translateY(-2px)}@media(max-width:768px){.user-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.user-card{padding:1.5rem 1rem;min-height:180px}.user-avatar-large{width:80px;height:80px;font-size:3rem}.user-info h4{font-size:1.2rem}.search-input{padding:1rem 1.5rem;font-size:1rem}.pin-avatar{width:100px;height:100px;font-size:4rem}.pin-input{width:200px;font-size:1.5rem;padding:1rem 1.5rem}.new-user-form{margin:0 1rem;padding:2rem 1.5rem}}@media(min-width:1200px){.user-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.user-avatar-large{width:120px;height:120px;font-size:5rem}.user-info h4{font-size:1.6rem}.user-department{font-size:1.1rem}}.kiosk-timer{width:100%;max-width:900px;display:flex;flex-direction:column;align-items:center;gap:2rem;padding:var(--spacing-4)}.kiosk-timer-display{display:flex;justify-content:center;align-items:center;margin-bottom:var(--spacing-4)}.timer-circle{width:280px;height:280px;border-radius:50%;background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:4px solid rgba(255,255,255,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 20px 60px #0003;position:relative;overflow:hidden}.timer-circle:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,var(--color-auth-purple),var(--color-auth-purple-dark),var(--color-auth-purple));border-radius:50%;z-index:-1;animation:rotate 3s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.timer-time{font-size:3.5rem;font-weight:300;color:#fff;font-family:Courier New,monospace;text-shadow:0 4px 8px rgba(0,0,0,.3);margin-bottom:.5rem}.timer-status{font-size:1.2rem;color:#ffffffe6;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:1px}.current-activity{background:#ffffff1a;border-radius:20px;padding:var(--spacing-6) var(--spacing-8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);text-align:center;min-width:400px;max-width:600px}.activity-project{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.5rem;font-size:1.4rem;font-weight:var(--font-semibold);color:#fff}.project-color{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.5)}.activity-task,.activity-description{font-size:1.1rem;color:#fffc;margin:.5rem 0;font-style:italic}.timer-controls{display:flex;justify-content:center;gap:1.5rem}.timer-btn{padding:1.5rem 3rem;font-size:1.4rem;font-weight:var(--font-semibold);border:none;border-radius:20px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);min-width:180px;text-transform:uppercase;letter-spacing:1px}.start-btn{background:linear-gradient(135deg,var(--color-success-500),var(--color-success-600));color:#fff;box-shadow:0 8px 32px #4caf504d}.start-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--color-success-600),var(--color-success-700));transform:translateY(-4px);box-shadow:0 12px 40px #4caf5066}.start-btn:disabled{background:#ffffff1a;color:#ffffff80;cursor:not-allowed;transform:none;box-shadow:none}.pause-btn{background:linear-gradient(135deg,var(--color-warning-500),var(--color-warning-600));color:#fff;box-shadow:0 8px 32px #ff98004d}.pause-btn:hover{background:linear-gradient(135deg,var(--color-warning-600),var(--color-warning-700));transform:translateY(-4px);box-shadow:0 12px 40px #ff980066}.stop-btn{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;box-shadow:0 8px 32px #f443364d}.stop-btn:hover{background:linear-gradient(135deg,#d32f2f,#b71c1c);transform:translateY(-4px);box-shadow:0 12px 40px #f4433666}.running-controls{display:flex;gap:1.5rem}.kiosk-selection-panel{width:100%;display:flex;flex-direction:column;gap:2rem;background:#ffffff0d;border-radius:25px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.selection-group{display:flex;flex-direction:column;gap:1rem}.selection-label{font-size:1.3rem;font-weight:var(--font-semibold);color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);margin-bottom:.5rem}.project-selection{width:100%}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.project-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:15px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:1.1rem;font-weight:var(--font-medium)}.project-card:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 8px 32px #0000001a}.project-card.selected{background:#ffffff40;border-color:#ffffff80;box-shadow:0 8px 32px #0003}.project-color-dot{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.5);flex-shrink:0}.add-project{border:2px dashed rgba(255,255,255,.4);background:#ffffff0d;justify-content:center}.add-project-icon{font-size:1.5rem}.no-projects{text-align:center;padding:3rem 2rem;color:#fff}.no-projects p{font-size:1.2rem;margin-bottom:1.5rem;color:#fffc}.create-first-project-btn{padding:1rem 2rem;font-size:1.1rem;background:#fff3;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.create-first-project-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.task-selection{width:100%}.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.task-card{padding:1.2rem;background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:12px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:1rem;text-align:center}.task-card:hover{background:#ffffff26;transform:translateY(-2px)}.task-card.selected{background:#fff3;border-color:#fff6}.no-tasks{text-align:center;padding:2rem;color:#ffffffb3;font-style:italic}.description-input{width:100%;padding:1.2rem 1.5rem;font-size:1.1rem;border:2px solid rgba(255,255,255,.2);border-radius:15px;background:#ffffff1a;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);outline:none;transition:all .3s ease;resize:vertical;font-family:inherit}.description-input:focus{border-color:#fff6;background:#ffffff26}.description-input::placeholder{color:#fff9}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.project-form-modal{background:#fffffff2;border-radius:20px;padding:3rem 2.5rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 20px 60px #0000004d;min-width:400px;max-width:500px}.project-form-modal h3{text-align:center;color:var(--text-primary);font-size:1.8rem;margin-bottom:2rem;font-weight:var(--font-semibold)}.project-name-input{width:100%;padding:1.2rem 1.5rem;font-size:1.2rem;border:2px solid rgba(0,0,0,.1);border-radius:12px;background:#fff;outline:none;transition:all .2s ease;margin-bottom:2rem}.project-name-input:focus{border-color:var(--color-auth-purple);box-shadow:0 0 0 3px #667eea1a}.form-actions{display:flex;gap:1rem;justify-content:center}.form-btn{padding:1rem 2rem;font-size:1.1rem;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;min-width:120px;font-weight:var(--font-semibold)}.form-btn.cancel{background:var(--bg-secondary);color:var(--text-secondary)}.form-btn.cancel:hover{background:var(--color-gray-200)}.form-btn.create{background:linear-gradient(135deg,var(--color-auth-purple),var(--color-auth-purple-dark));color:#fff}.form-btn.create:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-2px)}.form-btn.create:disabled{background:var(--color-gray-300);cursor:not-allowed;transform:none}@media(max-width:768px){.kiosk-timer{padding:.5rem;gap:1.5rem}.timer-circle{width:220px;height:220px}.timer-time{font-size:2.5rem}.current-activity{min-width:auto;padding:1rem 1.5rem}.activity-project{font-size:1.2rem}.timer-btn{padding:1.2rem 2rem;font-size:1.2rem;min-width:140px}.running-controls{flex-direction:column;align-items:center}.project-grid,.task-grid{grid-template-columns:1fr}.kiosk-selection-panel{padding:1.5rem}.project-form-modal{margin:1rem;min-width:auto;max-width:none}}@media(min-width:1200px){.timer-circle{width:320px;height:320px}.timer-time{font-size:4rem}.timer-btn{padding:2rem 4rem;font-size:1.6rem;min-width:220px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}*{transition:transform .2s ease}button:active{transform:scale(.98)}.kiosk-page{min-height:100vh;background:linear-gradient(135deg,var(--color-auth-purple) 0%,var(--color-auth-purple-dark) 100%);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;touch-action:manipulation;-webkit-user-select:none;user-select:none}.kiosk-page *{box-sizing:border-box}.kiosk-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4) var(--spacing-8);background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2)}.kiosk-logo h1{margin:0;color:var(--text-white);font-size:var(--text-4xl);font-weight:var(--font-semibold);text-shadow:0 2px 4px rgba(0,0,0,.3)}.kiosk-controls{display:flex;gap:var(--spacing-2)}.kiosk-control-btn{width:var(--spacing-12);height:var(--spacing-12);border:none;border-radius:var(--radius-xl);background:#fff3;color:var(--text-white);font-size:var(--text-xl);cursor:pointer;transition:var(--transition-all);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.kiosk-control-btn:hover{background:#ffffff4d;transform:translateY(calc(var(--spacing-1) * -1))}.kiosk-control-btn:active{transform:translateY(0)}.exit-btn:hover{background:#ff63634d}.kiosk-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);min-height:0}.kiosk-user-selection{text-align:center;width:100%;max-width:1200px}.kiosk-welcome{margin-bottom:var(--spacing-12)}.kiosk-welcome h2{color:var(--text-white);font-size:var(--text-6xl);margin-bottom:var(--spacing-4);text-shadow:0 2px 4px rgba(0,0,0,.3);font-weight:var(--font-light)}.kiosk-welcome p{color:#ffffffe6;font-size:var(--text-2xl);margin:0}.kiosk-timer-section{width:100%;max-width:1000px;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-8)}.kiosk-user-info{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-6) var(--spacing-8);background:#ffffff1a;border-radius:var(--radius-3xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.kiosk-current-user{display:flex;align-items:center;gap:var(--spacing-4)}.user-avatar{font-size:var(--text-6xl);width:80px;height:80px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.3)}.user-details h3{color:var(--text-white);font-size:var(--text-4xl);margin:0 0 var(--spacing-2) 0;font-weight:var(--font-medium)}.user-details p{color:#fffc;font-size:var(--text-lg);margin:0}.kiosk-logout-btn{padding:var(--spacing-4) var(--spacing-8);background:#fff3;color:var(--text-white);border:none;border-radius:var(--radius-xl);font-size:var(--text-lg);cursor:pointer;transition:var(--transition-all);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.kiosk-logout-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.kiosk-session-info{text-align:center;color:#fffc;font-size:var(--text-base);padding:var(--spacing-4);background:#0000001a;border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.kiosk-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4) var(--spacing-8);background:#0000001a;color:#fffc;font-size:var(--text-sm);border-top:1px solid rgba(255,255,255,.1)}.kiosk-time{font-weight:var(--font-medium)}.kiosk-info{font-style:italic}@media(max-width:768px){.kiosk-header{padding:1rem}.kiosk-logo h1{font-size:1.5rem}.kiosk-control-btn{width:45px;height:45px;font-size:1rem}.kiosk-welcome h2{font-size:2.5rem}.kiosk-welcome p{font-size:1.1rem}.user-avatar{width:60px;height:60px;font-size:2rem}.user-details h3{font-size:1.5rem}.kiosk-user-info{padding:1rem;flex-direction:column;gap:1rem;text-align:center}.kiosk-footer{flex-direction:column;gap:.5rem;text-align:center}}@media(min-width:1200px){.kiosk-welcome h2{font-size:4rem}.kiosk-welcome p{font-size:1.5rem}.user-avatar{width:100px;height:100px;font-size:4rem}.user-details h3{font-size:2.5rem}.user-details p{font-size:1.3rem}.kiosk-control-btn{width:60px;height:60px;font-size:1.4rem}}.kiosk-page button:focus{outline:3px solid rgba(255,255,255,.5);outline-offset:2px}.kiosk-content{animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.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}}.organization-switcher,.dashboard-project-switcher{position:relative;width:100%;z-index:1000}.organization-switcher .org-switcher-toggle,.dashboard-project-switcher .org-switcher-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;padding:var(--spacing-3) var(--spacing-4);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);font-family:inherit}.organization-switcher .org-switcher-toggle:hover,.dashboard-project-switcher .org-switcher-toggle:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);background:var(--bg-hover)}.organization-switcher .org-switcher-toggle:focus,.dashboard-project-switcher .org-switcher-toggle:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-10)}.organization-switcher .org-info,.dashboard-project-switcher .org-info{display:flex;align-items:center;gap:var(--spacing-3);flex:1;min-width:0}.organization-switcher .org-icon,.dashboard-project-switcher .org-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-lg);background:var(--primary-color-10);color:var(--primary-color);flex-shrink:0}.organization-switcher .org-details,.dashboard-project-switcher .org-details{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.organization-switcher .org-name,.dashboard-project-switcher .org-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.organization-switcher .org-role,.dashboard-project-switcher .org-role{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.organization-switcher .org-switcher-toggle svg:last-child,.dashboard-project-switcher .org-switcher-toggle svg:last-child{color:var(--text-secondary);transition:transform var(--transition-fast);flex-shrink:0}.organization-switcher .org-switcher-toggle svg:last-child.rotate,.dashboard-project-switcher .org-switcher-toggle svg:last-child.rotate{transform:rotate(180deg)}.organization-switcher .org-dropdown,.dashboard-project-switcher .org-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:320px;max-width:400px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 20px 60px #00000026,0 8px 24px #0000001a;z-index:10000;overflow:hidden;animation:dropdownSlideDown .2s ease-out}@keyframes dropdownSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.organization-switcher .org-dropdown-header,.dashboard-project-switcher .org-dropdown-header{padding:var(--spacing-4);border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;background:#f8fafc}.organization-switcher .org-dropdown-header h4,.dashboard-project-switcher .org-dropdown-header h4{margin:0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.clear-selection-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-md);transition:all var(--transition-fast)}.clear-selection-btn:hover{background:var(--primary-color-10);color:var(--primary-color-hover)}.organization-switcher .org-list,.dashboard-project-switcher .org-list{max-height:300px;overflow-y:auto;padding:var(--spacing-1) 0}.organization-switcher .org-item,.dashboard-project-switcher .org-item{display:flex;align-items:center;width:100%;padding:var(--spacing-3) var(--spacing-4);border:none;background:transparent;cursor:pointer;transition:all var(--transition-fast);font-family:inherit;text-align:left;position:relative}.organization-switcher .org-item:hover,.dashboard-project-switcher .org-item:hover{background:var(--bg-hover)}.organization-switcher .org-item.active,.dashboard-project-switcher .org-item.active{background:var(--primary-color-5);color:var(--primary-color)}.organization-switcher .org-item.archived,.dashboard-project-switcher .org-item.archived{opacity:.6}.organization-switcher .org-item.archived:hover,.dashboard-project-switcher .org-item.archived:hover{opacity:.8}.project-color-indicator{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-primary);flex-shrink:0}.check-icon{color:var(--primary-color);margin-left:auto;flex-shrink:0}.organization-switcher .org-error,.dashboard-project-switcher .org-error{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);color:var(--error-color);background:var(--error-bg);border-bottom:1px solid var(--border-primary);font-size:var(--text-sm)}.organization-switcher .empty-org-list,.dashboard-project-switcher .empty-org-list{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);padding:var(--spacing-6) var(--spacing-4);color:var(--text-secondary);text-align:center}.organization-switcher .empty-org-list p,.dashboard-project-switcher .empty-org-list p{margin:0;font-size:var(--text-base);font-weight:var(--font-medium)}.organization-switcher .empty-org-list small,.dashboard-project-switcher .empty-org-list small{font-size:var(--text-sm);opacity:.7}.organization-switcher .org-dropdown-footer,.dashboard-project-switcher .org-dropdown-footer{padding:var(--spacing-3) var(--spacing-4);border-top:1px solid #e2e8f0;background:#f8fafc;text-align:center}.organization-switcher .org-count,.dashboard-project-switcher .org-count{color:var(--text-secondary);font-size:var(--text-xs);margin:0}.spinner{animation:spin 1s linear infinite}.team-page{min-height:100vh;background:var(--gradient-light);padding:var(--spacing-8);width:100%;max-width:100vw;box-sizing:border-box}.current-user{display:flex;align-items:center;gap:var(--spacing-3)}.user-avatar{width:2.5rem;height:2.5rem;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--text-white);font-weight:var(--font-semibold);font-size:var(--text-base);flex-shrink:0}.user-info{display:flex;flex-direction:column;min-width:0}.user-name{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-tabs{display:flex;gap:var(--spacing-1);background:var(--bg-secondary);padding:var(--spacing-1);border-radius:var(--radius-md)}.tab-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);font-weight:var(--font-medium);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-fast);white-space:nowrap}.tab-button:hover{color:var(--text-primary)}.tab-button.active{background:var(--gradient-primary);color:var(--text-white);box-shadow:var(--shadow-primary)}.team-content{background:var(--bg-primary);border-radius:var(--radius-3xl);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--border-primary)}.team-dashboard{padding:var(--spacing-8)}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-6);margin-bottom:var(--spacing-12)}.stat-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--spacing-8);display:flex;align-items:center;gap:var(--spacing-6);transition:var(--transition-all)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.stat-icon{padding:var(--spacing-4);border-radius:var(--radius-2xl);background:var(--gradient-primary);color:var(--text-white);display:flex;align-items:center;justify-content:center}.stat-content .stat-value{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--spacing-1)}.stat-content .stat-label{font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--spacing-1)}.stat-content .stat-sub{font-size:var(--text-sm);color:var(--text-tertiary)}.dashboard-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-8);margin-bottom:var(--spacing-8)}.dashboard-section{background:var(--bg-secondary);border-radius:var(--radius-2xl);padding:var(--spacing-6);border:1px solid var(--border-primary)}.dashboard-section.full-width{grid-column:1 / -1}.dashboard-section h3{display:flex;align-items:center;gap:var(--spacing-3);margin:0 0 var(--spacing-6) 0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary)}.performers-list,.projects-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.performer-item,.project-item{display:flex;align-items:center;gap:var(--spacing-4);background:var(--bg-primary);padding:var(--spacing-4);border-radius:var(--radius-xl);border:1px solid var(--border-primary)}.performer-rank,.project-rank{font-weight:var(--font-bold);color:var(--color-primary-500);font-size:var(--text-sm)}.performer-avatar{width:2.5rem;height:2.5rem;border-radius:var(--radius-xl);background:var(--gradient-primary);color:var(--text-white);display:flex;align-items:center;justify-content:center;font-weight:var(--font-semibold)}.performer-info,.project-info{flex:1;min-width:0}.performer-name,.project-name{font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--spacing-1)}.performer-hours,.project-stats{font-size:var(--text-sm);color:var(--text-secondary)}.performer-progress,.project-progress{width:4rem;height:var(--spacing-2);background:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:hidden}.progress-bar{height:100%;background:var(--gradient-primary);transition:var(--transition-slow)}.recent-activities{display:flex;flex-direction:column;gap:var(--spacing-3)}.activity-item{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary)}.activity-avatar{width:2rem;height:2rem;border-radius:var(--radius-md);background:var(--gradient-primary);color:var(--text-white);display:flex;align-items:center;justify-content:center;font-weight:var(--font-semibold);font-size:var(--text-sm)}.activity-content{flex:1}.member-name{font-weight:var(--font-semibold);color:var(--text-primary)}.activity-text{color:var(--text-secondary)}.project-context{color:var(--color-primary-500);font-weight:var(--font-medium)}.activity-time{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--spacing-1)}.members-section{padding:var(--spacing-8)}.members-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-8);gap:var(--spacing-4)}.members-header-content{flex:1}.members-header h2{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;margin-bottom:var(--spacing-1)}.project-context{font-size:var(--text-sm);color:var(--text-secondary);margin:0;font-weight:var(--font-normal)}.project-context strong{color:var(--text-primary);font-weight:var(--font-semibold)}.members-actions{display:flex;align-items:center;gap:var(--spacing-3)}.refresh-button{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;transition:var(--transition-all);font-size:var(--text-sm)}.refresh-button:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text-primary)}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.refresh-button .spinner{animation:spin 1s linear infinite}.add-member-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);background:var(--gradient-primary);color:var(--text-white);border:none;border-radius:var(--radius-xl);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-all);box-shadow:var(--shadow-primary)}.add-member-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-primary-lg)}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--spacing-6)}.team-member-card{background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-primary);overflow:hidden;transition:var(--transition-all)}.team-member-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.team-member-card.inactive{opacity:.7;border-color:var(--border-secondary)}.member-header{padding:var(--spacing-6);display:flex;gap:var(--spacing-4);border-bottom:1px solid var(--bg-secondary)}.member-avatar{width:3.5rem;height:3.5rem;border-radius:var(--radius-2xl);display:flex;align-items:center;justify-content:center;color:var(--text-white);font-weight:var(--font-bold);font-size:1.4rem;flex-shrink:0}.member-info{flex:1;min-width:0}.member-name{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--spacing-1);display:flex;align-items:center;gap:var(--spacing-2)}.inactive-badge{padding:var(--spacing-0-5) var(--spacing-2);background:var(--color-error-500);color:var(--text-white);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium)}.member-email{display:flex;align-items:center;gap:var(--spacing-2);color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--spacing-2)}.member-role{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-sm);font-weight:var(--font-medium)}.member-actions{display:flex;gap:var(--spacing-2);flex-shrink:0}.edit-button{padding:var(--spacing-2);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition-all)}.edit-button:hover{background:var(--bg-secondary);color:var(--color-primary-600)}.member-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-4);padding:var(--spacing-6);border-bottom:1px solid var(--bg-secondary)}.member-stats .stat-item{display:flex;align-items:center;gap:var(--spacing-3);color:var(--text-secondary)}.member-stats .stat-content{display:flex;flex-direction:column}.member-stats .stat-value{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-base)}.member-stats .stat-label{font-size:var(--text-xs);color:var(--text-tertiary)}.member-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--bg-secondary)}.join-date{font-size:var(--text-sm);color:var(--text-secondary)}.activity-status{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-sm);font-weight:var(--font-medium)}.status-indicator{width:var(--spacing-2);height:var(--spacing-2);border-radius:50%}.member-progress{padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--bg-secondary)}.progress-label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--spacing-2)}.progress-bar-container{height:var(--spacing-2);background:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--spacing-2)}.progress-text{font-size:var(--text-xs);color:var(--text-tertiary)}.member-permissions{padding:var(--spacing-4) var(--spacing-6)}.permissions-header{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--spacing-2)}.permissions-list{display:flex;flex-wrap:wrap;gap:var(--spacing-1)}.permission-badge{padding:var(--spacing-0-5) var(--spacing-2);background:var(--color-primary-50);color:var(--color-primary-700);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-content{background:var(--bg-primary);border-radius:var(--radius-3xl);box-shadow:var(--shadow-2xl);max-width:90vw;max-height:90vh;overflow-y:auto}.user-management-modal{width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-8) var(--spacing-8) 0 var(--spacing-8);margin-bottom:var(--spacing-8)}.modal-header h2{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.close-button{padding:var(--spacing-2);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition-all)}.close-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.user-form{padding:0 var(--spacing-8) var(--spacing-8) var(--spacing-8)}.form-group{margin-bottom:var(--spacing-6)}.form-group label{display:flex;align-items:center;gap:var(--spacing-2);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--spacing-2)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);transition:var(--transition-all);box-sizing:border-box;color:var(--text-primary);background:var(--bg-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:var(--shadow-focus)}.form-group input.error,.form-group select.error{border-color:var(--color-error-500)}.error-message{color:var(--color-error-600);font-size:var(--text-xs);margin-top:var(--spacing-1);display:block}.checkbox-group{margin-top:var(--spacing-4)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-2);font-weight:var(--font-normal);cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;margin:0;accent-color:var(--color-checkbox)}.role-preview{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-4);margin-top:var(--spacing-4)}.role-preview h4{margin:0 0 var(--spacing-4) 0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-2)}.permission-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2);border-radius:var(--radius-sm);font-size:var(--text-xs)}.permission-item.allowed{background:var(--color-success-100);color:var(--color-success-800)}.permission-item.denied{background:var(--color-error-50);color:var(--color-error-700)}.permission-name{text-transform:capitalize}.permission-status{font-weight:var(--font-semibold)}.form-actions{display:flex;gap:var(--spacing-4);justify-content:flex-end;margin-top:var(--spacing-8);padding-top:var(--spacing-4);border-top:1px solid var(--border-primary)}.cancel-button,.remove-button,.submit-button{padding:var(--spacing-3) var(--spacing-6);border:none;border-radius:var(--radius-md);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-all)}.cancel-button{background:var(--bg-secondary);color:var(--text-primary)}.cancel-button:hover{background:var(--bg-tertiary)}.remove-button{background:var(--color-error-50);color:var(--color-error-700)}.remove-button:hover{background:var(--color-error-100)}.submit-button{background:var(--gradient-primary);color:var(--text-white);box-shadow:var(--shadow-primary)}.submit-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-primary-lg)}.create-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);background:var(--gradient-primary);color:var(--text-white);border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-all);box-shadow:var(--shadow-primary)}.create-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-primary-lg)}.create-button:disabled{opacity:.6;cursor:not-allowed}.modal-actions{display:flex;gap:var(--spacing-4);justify-content:flex-end;margin-top:var(--spacing-8);padding-top:var(--spacing-4);border-top:1px solid var(--border-primary)}.activity-section{padding:var(--spacing-8)}.activity-section h2{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--spacing-8) 0}.activity-feed{display:flex;flex-direction:column;gap:var(--spacing-4)}.empty-activity{text-align:center;padding:var(--spacing-16) var(--spacing-8);color:var(--text-secondary)}.empty-activity svg{margin-bottom:var(--spacing-4)}.activity-feed .activity-item{padding:var(--spacing-6);margin:0}.activity-icon{padding:var(--spacing-3);border-radius:var(--radius-xl);background:var(--gradient-primary);color:var(--text-white);display:flex;align-items:center;justify-content:center}.activity-description{font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--spacing-2)}.settings-section{padding:var(--spacing-6);display:flex;flex-direction:column;gap:20px}.settings-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.settings-card-header{display:flex;align-items:center;gap:10px;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #f3f4f6}.settings-card-header svg{color:#3b82f6}.settings-card-header h3{font-size:16px;font-weight:600;color:#1f2937;margin:0}.settings-card-content{padding:16px 20px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f3f4f6}.settings-row:last-child{border-bottom:none}.settings-label{display:flex;flex-direction:column;gap:2px}.settings-label .label-text{font-size:14px;font-weight:500;color:#1f2937}.settings-label .label-desc{font-size:12px;color:#6b7280}.settings-value{font-size:14px;color:#374151}.settings-value .badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 10px;background:#dbeafe;color:#1d4ed8;border-radius:14px;font-weight:600;font-size:13px}.settings-action{display:flex;align-items:center}.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s}.btn-secondary:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6}.current-team-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:#dbeafe;border-radius:6px;font-weight:500;color:#1d4ed8}.current-team-badge .clear-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:#0000001a;border:none;border-radius:50%;cursor:pointer;color:inherit}.current-team-badge .clear-btn:hover{background:#0003}.text-muted{color:#9ca3af}.teams-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}.team-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .15s}.team-item:hover{border-color:#3b82f6;background:#fff}.team-item.active{border-color:#3b82f6;background:#eff6ff}.team-item-info h4{font-size:14px;font-weight:600;color:#1f2937;margin:0}.team-item-info p{font-size:12px;color:#6b7280;margin:2px 0 0}.team-item-meta{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280}.team-item-meta svg{width:14px;height:14px}.roles-overview{display:flex;flex-direction:column;gap:12px}.role-item{display:flex;align-items:center;gap:12px}.role-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;min-width:70px;justify-content:center}.role-badge.owner{background:#fee2e2;color:#dc2626}.role-badge.admin{background:#fef3c7;color:#b45309}.role-badge.member{background:#dbeafe;color:#1d4ed8}.role-desc{font-size:13px;color:#6b7280}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .15s}.quick-action-btn svg{color:#3b82f6}.quick-action-btn span{font-size:13px;font-weight:500;color:#374151}.quick-action-btn:hover{background:#eff6ff;border-color:#3b82f6}.quick-action-btn:hover svg{color:#2563eb}.empty-state{text-align:center;padding:var(--spacing-12) var(--spacing-4);color:var(--text-secondary)}.empty-state svg{margin-bottom:var(--spacing-4);opacity:.5}.empty-state p{margin:0;font-size:var(--text-base)}@media(max-width:768px){.team-page{padding:var(--spacing-4)}.team-page .page-header{flex-direction:column;gap:var(--spacing-4);align-items:stretch}.header-content,.header-stats,.current-user{justify-content:center}.dashboard-stats,.dashboard-content,.members-grid{grid-template-columns:1fr}.team-tabs{flex-wrap:wrap}.tab-button{flex:1;min-width:120px}.member-stats,.settings-row{grid-template-columns:1fr}.user-management-modal{width:95vw}.form-actions{flex-direction:column-reverse}.permissions-grid{grid-template-columns:1fr}}.team-selection{padding:var(--spacing-12);text-align:center}.selection-prompt{max-width:600px;margin:0 auto}.selection-icon{color:var(--color-primary-400);margin-bottom:var(--spacing-6)}.selection-prompt h2{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--spacing-4)}.selection-prompt p{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--spacing-8)}.create-team-btn{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-6);border:none;border-radius:var(--radius-xl);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-fast);font-size:var(--text-base)}.create-team-btn.primary{background:var(--gradient-primary);color:var(--text-white);box-shadow:var(--shadow-primary)}.create-team-btn.primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.create-team-btn.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);margin-top:var(--spacing-4)}.create-team-btn.secondary:hover{background:var(--bg-tertiary)}.teams-quick-select{text-align:left;margin-top:var(--spacing-8)}.teams-quick-select h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--spacing-4);text-align:center}.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.team-card.selectable{cursor:pointer;transition:var(--transition-all);border:2px solid transparent}.team-card.selectable:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--color-primary-200)}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-6);border-bottom:1px solid var(--border-primary);gap:var(--spacing-4)}.project-switcher-container{flex-shrink:0;min-width:200px}.dashboard-project-switcher{width:100%}.dashboard-project-switcher .org-switcher-toggle{width:100%;min-height:60px;border:1px solid var(--border-primary);border-radius:var(--radius-xl);background:var(--bg-card);box-shadow:var(--shadow-sm)}.dashboard-project-switcher .org-switcher-toggle:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.current-team-display{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-card)}.current-team-display .team-info h4{margin:0 0 var(--spacing-1) 0;font-size:var(--text-lg);font-weight:var(--font-semibold)}.current-team-display .team-info p{margin:0 0 var(--spacing-2) 0;color:var(--text-secondary)}.clear-team-btn{background:var(--bg-destructive);color:var(--text-white);border:none;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.clear-team-btn:hover{background:var(--bg-destructive-hover)}.no-team-info{color:var(--text-secondary);font-style:italic;padding:var(--spacing-3);border:1px dashed var(--border-primary);border-radius:var(--radius-lg);text-align:center}.group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3)}.empty-teams{text-align:center;padding:var(--spacing-8);color:var(--text-secondary)}.empty-teams svg{opacity:.5;margin-bottom:var(--spacing-3)}.team-card.selected{border-color:var(--primary-color);background:var(--primary-color-10)}.selected-check{color:var(--primary-color);position:absolute;top:var(--spacing-2);right:var(--spacing-2)}.team-settings{display:flex;flex-direction:column;gap:var(--spacing-4)}.settings-item{display:flex;flex-direction:column;gap:var(--spacing-2)}.dashboard-header .team-info h1{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--spacing-2)}.dashboard-header .team-info p{font-size:var(--text-lg);color:var(--text-secondary)}.dashboard-actions{display:flex;gap:var(--spacing-3)}.add-member-btn{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:var(--gradient-primary);color:var(--text-white);border:none;border-radius:var(--radius-xl);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-fast)}.add-member-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-primary)}.recent-members{display:flex;flex-direction:column;gap:var(--spacing-3)}.member-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary)}.member-avatar.large{width:3rem;height:3rem;font-size:var(--text-lg)}.member-role{font-size:var(--text-sm);color:var(--text-secondary)}.member-status{margin-left:auto}.status-active{color:var(--color-success-500)}.loading-members{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-4);color:var(--text-secondary);font-size:var(--text-sm);justify-content:center}.loading-members .spinner{animation:spin 1s linear infinite}.empty-members{padding:var(--spacing-6);text-align:center;color:var(--text-secondary);font-size:var(--text-sm)}.empty-members p{margin:0;opacity:.8}.status-inactive{width:16px;height:16px;border-radius:50%;background:var(--color-gray-300)}.team-members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.tm-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.tm-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #0000000f}.tm-header{display:flex;align-items:center;gap:12px;padding:14px 16px}.tm-avatar{position:relative;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);flex-shrink:0}.tm-status{position:absolute;bottom:0;right:0;width:12px;height:12px;border-radius:50%;border:2px solid #fff}.tm-status.online{background:#10b981}.tm-status.offline{background:#9ca3af}.tm-info{flex:1;min-width:0}.tm-info h4{font-size:15px;font-weight:600;color:#1f2937;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tm-info p{font-size:13px;color:#6b7280;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tm-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#f9fafb;border-top:1px solid #f3f4f6}.tm-role{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:capitalize;flex-shrink:0}.tm-role.admin{background:#fef3c7;color:#b45309}.tm-role.member{background:#dbeafe;color:#1d4ed8}.tm-role.owner{background:#fee2e2;color:#dc2626}.tm-stats{display:flex;align-items:center;gap:12px}.tm-stat{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#6b7280;white-space:nowrap}.tm-stat svg{color:#9ca3af;width:14px;height:14px}.no-team-selected,.no-organization,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12);text-align:center;color:var(--text-secondary)}.no-team-selected svg,.no-organization svg,.empty-state svg{color:var(--color-primary-300);margin-bottom:var(--spacing-6)}.no-team-selected h3,.no-organization h3,.empty-state h3{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--spacing-3)}.no-team-selected p,.no-organization p,.empty-state p{font-size:var(--text-lg);max-width:400px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12);text-align:center}.loading-container .animate-spin{animation:spin 1s linear infinite;color:var(--color-primary-500);margin-bottom:var(--spacing-4)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.count{background:var(--color-primary-100);color:var(--color-primary-700);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold);margin-left:var(--spacing-2)}.sent-invitations-section{margin-bottom:var(--spacing-6);padding:var(--spacing-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.sent-invitations-section .section-title{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-4);color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold)}.loading-invitations{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);padding:var(--spacing-6);color:var(--text-secondary)}.invitations-list{display:flex;flex-direction:column;gap:12px}.invitation-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:12px}.invitation-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #0000000f}.invitation-card.status-pending{border-left:3px solid #f59e0b}.invitation-card.status-accepted{border-left:3px solid #10b981;opacity:.7}.invitation-card.status-rejected{border-left:3px solid #ef4444;opacity:.7}.invitation-header{display:flex;align-items:center;gap:12px;flex:1;margin:0}.invitation-avatar{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0}.invitation-card.status-pending .invitation-avatar{background:#f59e0b}.invitation-card.status-accepted .invitation-avatar{background:#10b981}.invitation-card.status-rejected .invitation-avatar{background:#ef4444}.invitation-details{flex:1;min-width:0}.invitation-details h4{font-size:15px;font-weight:600;color:#1f2937;margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invitation-project{font-size:13px;color:#6b7280;margin:0}.invitation-status{padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.invitation-status.pending{background:var(--color-warning-100);color:var(--color-warning-700)}.invitation-status.accepted{background:var(--color-success-100);color:var(--color-success-700)}.invitation-status.rejected{background:var(--color-danger-100);color:var(--color-danger-700)}.invitation-info{padding-left:calc(3rem + var(--spacing-3))}.invitation-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-3);align-items:center;margin-bottom:var(--spacing-2);font-size:var(--text-xs);color:var(--text-secondary)}.invitation-date,.invitation-expires{display:flex;align-items:center;gap:var(--spacing-1)}.invitation-message{margin:var(--spacing-2) 0 0 0;padding:var(--spacing-2);background:var(--bg-secondary);border-left:3px solid var(--color-primary-400);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary);font-style:italic}.cancel-invitation-btn{position:absolute;top:var(--spacing-4);right:var(--spacing-4);display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);background:var(--color-danger-100);color:var(--color-danger-700);border:1px solid var(--color-danger-200);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-fast)}.cancel-invitation-btn:hover{background:var(--color-danger-200);border-color:var(--color-danger-300);transform:translateY(-1px)}.cancel-invitation-btn:active{transform:translateY(0)}.settings-page{min-height:100vh;background:var(--gradient-light);padding:var(--spacing-8);width:100%;max-width:100vw;box-sizing:border-box}.reset-button,.save-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);border:none;border-radius:var(--radius-xl);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-all)}.reset-button{background:var(--bg-secondary);color:var(--text-primary)}.reset-button:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.save-button{background:var(--gradient-primary);color:var(--text-white);box-shadow:var(--shadow-primary)}.save-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-primary-lg)}.settings-container{display:grid;grid-template-columns:280px 1fr;gap:var(--spacing-8);height:calc(100vh - 200px)}.settings-sidebar{background:var(--bg-primary);border-radius:var(--radius-3xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-primary);overflow:hidden}.settings-nav{display:flex;flex-direction:column;padding:var(--spacing-4)}.nav-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-xl);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-all);text-align:left;margin-bottom:var(--spacing-1)}.nav-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-item.active{background:var(--gradient-primary);color:var(--text-white);box-shadow:var(--shadow-primary)}.settings-main{background:var(--bg-primary);border-radius:var(--radius-3xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-primary);overflow-y:auto;padding:var(--spacing-8)}.settings-content{max-width:600px}.settings-content h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--spacing-4) 0;padding-bottom:var(--spacing-2);border-bottom:2px solid var(--border-primary)}.settings-content h3:not(:first-child){margin-top:var(--spacing-8)}.settings-group{display:flex;flex-direction:column;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.settings-field{display:flex;flex-direction:column;gap:var(--spacing-2)}.settings-field label{font-weight:var(--font-medium);color:var(--text-primary)}.settings-field input,.settings-field select{padding:var(--spacing-3);border:2px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);transition:var(--transition-all);background:var(--bg-primary);color:var(--text-primary)}.select-wrapper{position:relative;display:flex;align-items:center}.select-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.5rem;cursor:pointer;width:100%}.select-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.settings-field input:focus,.settings-field select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-3);font-weight:var(--font-normal);cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-md);transition:var(--transition-all)}.checkbox-label:hover{background:var(--bg-secondary)}.checkbox-label input[type=checkbox]{width:20px;height:20px;margin:0;cursor:pointer;accent-color:var(--color-checkbox)}.volume-slider{width:100%;height:8px;border-radius:var(--radius-sm);background:var(--bg-secondary);outline:none;-webkit-appearance:none;appearance:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:var(--radius-full);background:var(--color-primary-500);cursor:pointer;box-shadow:var(--shadow-sm)}.volume-slider::-moz-range-thumb{width:20px;height:20px;border-radius:var(--radius-full);background:var(--color-primary-500);cursor:pointer;border:none;box-shadow:var(--shadow-sm)}.color-picker-container{display:flex;align-items:center;gap:var(--spacing-4)}.color-picker{width:48px;height:40px;border:2px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;-webkit-appearance:none;appearance:none}.color-picker::-webkit-color-swatch-wrapper{padding:0;border:none;border-radius:var(--radius-md)}.color-picker::-webkit-color-swatch{border:none;border-radius:var(--radius-md)}.color-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-secondary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}.data-actions,.privacy-actions{display:flex;gap:var(--spacing-4);margin-top:var(--spacing-8);padding-top:var(--spacing-4);border-top:1px solid var(--border-primary)}.action-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);border:none;border-radius:var(--radius-xl);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-all)}.action-button.export{background:var(--color-success-50);color:var(--color-success-600);border:1px solid var(--color-success-200)}.action-button.export:hover{background:var(--color-success-100);transform:translateY(-1px)}.action-button.import{background:var(--color-primary-50);color:var(--color-primary-600);border:1px solid var(--color-primary-200)}.action-button.import:hover{background:var(--color-primary-100);transform:translateY(-1px)}.action-button.danger{background:var(--color-error-50);color:var(--color-error-600);border:1px solid var(--color-error-200)}.action-button.danger:hover{background:var(--color-error-100);transform:translateY(-1px)}.privacy-info{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-6);margin:var(--spacing-6) 0}.privacy-info p{margin:0 0 var(--spacing-3) 0;color:var(--text-primary);line-height:var(--leading-relaxed)}.privacy-info p:last-child{margin-bottom:0}.system-info{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-6);margin:var(--spacing-6) 0}.info-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) 0;border-bottom:1px solid var(--border-primary)}.info-item:last-child{border-bottom:none}.info-item span:first-child{font-weight:var(--font-medium);color:var(--text-primary)}.info-item span:last-child{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--text-sm);color:var(--text-secondary)}.success-notification{position:fixed;top:var(--spacing-8);right:var(--spacing-8);background:var(--color-success-500);color:var(--text-white);padding:var(--spacing-4) var(--spacing-6);border-radius:var(--radius-xl);box-shadow:var(--shadow-success-lg);font-weight:var(--font-medium);z-index:var(--z-modal);animation:slideIn var(--duration-300) var(--ease-out)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:768px){.settings-page{padding:var(--spacing-4)}.settings-page .page-header{flex-direction:column;gap:var(--spacing-4);align-items:stretch}.header-actions{justify-content:center}.settings-container{grid-template-columns:1fr;height:auto}.settings-sidebar{order:2;margin-top:var(--spacing-4)}.settings-nav{flex-direction:row;overflow-x:auto;padding:var(--spacing-2)}.nav-item{white-space:nowrap;min-width:120px;justify-content:center}.settings-main{order:1}.settings-row{grid-template-columns:1fr}.data-actions,.privacy-actions{flex-direction:column}.success-notification{top:var(--spacing-4);right:var(--spacing-4);left:var(--spacing-4)}}@media(max-width:480px){.settings-page .page-header h1{font-size:var(--text-3xl)}.header-actions{flex-direction:column}.reset-button,.save-button{width:100%;justify-content:center}.settings-content{padding:0}}.invite-form{margin-bottom:var(--spacing-8)}.invite-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);background:var(--color-primary-500);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-base);white-space:nowrap}.invite-button:hover{background:var(--color-primary-600);transform:translateY(-1px)}.members-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.member-card{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);transition:var(--transition-base)}.member-card:hover{border-color:var(--color-primary-200);box-shadow:var(--shadow-sm)}.member-info{display:flex;align-items:center;gap:var(--spacing-4);flex:1}.member-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold);font-size:var(--text-xl)}.member-details h4{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.member-details p{margin:var(--spacing-1) 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.member-actions{display:flex;align-items:center;gap:var(--spacing-3)}.owner-badge{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background:var(--color-warning-100);color:var(--color-warning-700);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold)}.role-select{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:var(--transition-base)}.role-select:hover{border-color:var(--color-primary-300)}.role-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.remove-button{padding:var(--spacing-2);background:transparent;color:var(--color-error-500);border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base);display:flex;align-items:center;justify-content:center}.remove-button:hover{background:var(--color-error-50);color:var(--color-error-600)}.members-list .empty-state{padding:var(--spacing-12);text-align:center;color:var(--text-secondary)}.members-list .empty-state svg{color:var(--text-tertiary);margin-bottom:var(--spacing-4)}.members-list .empty-state p{margin:0;font-size:var(--text-base)}.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)}}
