﻿:root{--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-primary-light: #3b82f6;--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-success: #16a34a;--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-200: #bbf7d0;--color-success-500: #22c55e;--color-success-700: #15803d;--color-warning: #ca8a04;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-200: #fde68a;--color-warning-500: #f59e0b;--color-warning-700: #b45309;--color-danger: #dc2626;--color-danger-50: #fef2f2;--color-danger-100: #fee2e2;--color-danger-200: #fecaca;--color-danger-500: #ef4444;--color-danger-700: #b91c1c;--color-info: #0891b2;--color-info-50: #ecfeff;--color-info-100: #cffafe;--color-info-700: #0e7490;--color-warning-bg: var(--color-warning-100);--color-warning-text: var(--color-warning-700);--color-primary-rgb: 37, 99, 235;--color-white: #ffffff;--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-black: #000000;--color-text: var(--color-gray-900);--color-text-muted: var(--color-gray-500);--color-text-light: var(--color-gray-400);--color-bg: var(--color-white);--color-bg-alt: var(--color-gray-50);--color-bg-dark: var(--color-gray-100);--color-bg-secondary: var(--color-gray-50);--color-border: var(--color-gray-200);--color-border-dark: var(--color-gray-300);--spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-size-xs: 0.75rem;--font-size-sm: 0.875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-sm: 0.25rem;--radius-md: 0.375rem;--radius-lg: 0.5rem;--radius-xl: 0.75rem;--radius-full: 9999px;--border-radius: var(--radius-md);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--transition-fast: 150ms ease;--transition-normal: 200ms ease;--transition-slow: 300ms ease}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas{display:block;max-width:100%}svg{max-width:100%}svg:not([class]){display:block}svg[class*=icon],svg.icon,.icon{display:inline-block;vertical-align:middle}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:1.25}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}a{color:var(--color-primary);transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}small{font-size:var(--font-size-sm)}.text-muted{color:var(--color-text-muted)}.text-light{color:var(--color-text-light)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-center{text-align:center}.text-right{text-align:right}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.5;border:1px solid rgba(0,0,0,0);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-gray-100);color:var(--color-gray-700);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-200)}.btn-danger{background-color:var(--color-danger);color:var(--color-white)}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-impersonate{background-color:var(--color-danger-700);color:var(--color-white)}.btn-impersonate:hover:not(:disabled){background-color:var(--color-danger)}.btn-ghost{background-color:rgba(0,0,0,0);color:var(--color-gray-600)}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-700)}.form-input,.form-select,.form-textarea{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--color-gray-100);cursor:not-allowed}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{color:var(--color-gray-400)}.form-textarea{min-height:100px;resize:vertical}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--spacing-sm) center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:var(--spacing-xl)}.form-checkbox,.form-radio{display:inline-flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.form-checkbox input,.form-radio input{width:1rem;height:1rem;accent-color:var(--color-primary)}.switch-label{display:inline-flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;user-select:none;font-size:var(--font-size-sm)}.switch-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.switch-label .switch-slider{position:relative;display:inline-block;width:44px;height:24px;background-color:var(--color-gray-300);border-radius:24px;transition:background-color .2s ease}.switch-label .switch-slider::before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:var(--color-white);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s ease}.switch-label input[type=checkbox]:checked+.switch-slider{background-color:var(--color-primary)}.switch-label input[type=checkbox]:checked+.switch-slider::before{transform:translateX(20px)}.switch-label input[type=checkbox]:focus+.switch-slider{box-shadow:0 0 0 3px rgba(37,99,235,.2)}.switch-label .switch-text{color:var(--color-text)}.form-error{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-danger)}.form-help{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.card-body{padding:var(--spacing-lg)}.card-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border);background-color:var(--color-bg-alt)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:0}.table{width:100%;border-collapse:collapse}.table-scroll{margin-left:calc(-1*var(--spacing-lg));margin-right:calc(-1*var(--spacing-lg));padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);overflow-x:auto}.table-scroll>.card{width:min-content}.table th[data-sort-type=date]{white-space:nowrap}.nowrap{white-space:nowrap}.table th,.table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.table th{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-bg-alt)}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:var(--color-bg-alt)}.table-striped tbody tr:nth-child(odd){background-color:var(--color-bg-alt)}.table-compact th,.table-compact td{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.table tbody tr.overdue{background-color:#ffb9bb}.table tbody tr.overdue:hover{background-color:#f5a6a9}.table tbody tr.due{background-color:#ffecb7}.table tbody tr.due:hover{background-color:#f5e1a4}.sortable-header{position:relative;padding-right:calc(var(--spacing-md) + 1em);user-select:none}.sortable-header::after{content:"⇅";position:absolute;right:var(--spacing-sm);opacity:.3;font-size:.8em}.sortable-header:hover::after{opacity:.6}.sortable-header.sort-asc::after{content:"↑";opacity:1}.sortable-header.sort-desc::after{content:"↓";opacity:1}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full)}.badge-primary{background-color:var(--color-primary-light);color:var(--color-white)}.badge-success{background-color:#dcfce7;color:#166534}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-danger{background-color:#fee2e2;color:#991b1b}.badge-info{background-color:#cffafe;color:#0e7490}.badge-neutral{background-color:var(--color-gray-100);color:var(--color-gray-600)}.badge-pink{background-color:#fce7f3;color:#9d174d}.badge-purple{background-color:#ede9fe;color:#5b21b6}.badge-admin{background-color:var(--color-primary-100);color:var(--color-primary-700)}.badge-internal{background-color:var(--color-success-100);color:var(--color-success-700)}.badge-inactive{background-color:var(--color-gray-100);color:var(--color-gray-600)}.badge-count{background-color:var(--color-gray-100);color:var(--color-text-muted)}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);display:inline-block}.status-dot-success{background-color:var(--color-success)}.status-dot-warning{background-color:var(--color-warning)}.status-dot-danger{background-color:var(--color-danger)}.status-dot-info{background-color:var(--color-info)}.slideover-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);z-index:999;opacity:0;visibility:hidden;transition:opacity var(--transition-normal)}.slideover-overlay.active{opacity:1;visibility:visible}.slideover{position:fixed;top:0;right:-450px;width:420px;max-width:90vw;height:100vh;background:var(--color-white);box-shadow:-4px 0 20px rgba(0,0,0,.15);z-index:1100;display:flex;flex-direction:column;transition:right var(--transition-normal)}.slideover.active{right:0}.slideover--wide{width:520px;right:-550px}.slideover--wide.active{right:0}.slideover-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) 1.25rem;border-bottom:1px solid var(--color-border);background:var(--color-gray-50)}.slideover-header h3{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.slideover-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-muted);line-height:1;padding:0}.slideover-close:hover{color:var(--color-text)}.slideover-body{flex:1;overflow-y:auto;padding:1.25rem}.slideover-body .form-group{margin-bottom:var(--spacing-md)}.slideover-body .form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.slideover-body .form-input,.slideover-body .form-select{width:100%;padding:var(--spacing-sm) .75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.slideover-body .form-input:focus,.slideover-body .form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-100)}.slideover-body .form-help{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.slideover-body .checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:normal}.slideover-body .checkbox-label input{width:1rem;height:1rem}.slideover-footer{padding:var(--spacing-md) 1.25rem;border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-sm)}.slideover-footer .btn{flex:1}.form-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.form-section h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:.75rem;color:var(--color-text-muted)}.section-row{display:flex;justify-content:space-between;align-items:baseline;margin:var(--spacing-lg) 0 var(--spacing-sm)}.section-row:first-child{margin-top:0}.section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.column-header{font-size:var(--font-size-xs);color:var(--color-text-muted)}.permission-list{list-style:none;padding:0;margin:0}.permission-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-gray-100)}.permission-item:last-child{border-bottom:none}.permission-info{display:flex;flex-direction:column}.permission-name{font-weight:var(--font-weight-medium)}.permission-email{font-size:var(--font-size-xs);color:var(--color-text-muted)}.permission-actions{display:flex;gap:var(--spacing-sm);align-items:center}.toggle-switch{position:relative;width:44px;height:24px;background:var(--color-gray-300);border-radius:12px;cursor:pointer;transition:background var(--transition-fast);flex-shrink:0}.toggle-switch.active{background:var(--color-success-500)}.toggle-switch::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--color-white);border-radius:50%;transition:transform var(--transition-fast);box-shadow:var(--shadow-sm)}.toggle-switch.active::after{transform:translateX(20px)}.add-permission-row{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.add-permission-row select{flex:1;padding:var(--spacing-sm) .75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.add-permission-row select:disabled{background:var(--color-gray-100);color:var(--color-text-muted);cursor:not-allowed}.empty-list{color:var(--color-text-muted);font-style:italic;padding:var(--spacing-sm) 0}.slideover--narrow{width:360px;right:-400px}.slideover--narrow.active{right:0}.case-checkbox{width:1.25rem;height:1.25rem;cursor:pointer}.row-selected{background:var(--color-primary-50) !important}@media print{.case-checkbox,.slideover{display:none !important}}.message{padding:.75rem var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.message.success,.message--success{background:var(--color-success-50);color:var(--color-success-700)}.message.error,.message--error{background:var(--color-danger-50);color:var(--color-danger-700)}.message.warning,.message--warning{background:var(--color-warning-50);color:var(--color-warning-700)}.message.info,.message--info{background:var(--color-info-50);color:var(--color-info-700)}.alert{padding:.75rem var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.alert-success{background:var(--color-success-50);color:var(--color-success-700)}.alert-error{background:var(--color-danger-50);color:var(--color-danger-700)}.alert-warning{background:var(--color-warning-50);color:var(--color-warning-700)}.alert-info{background:var(--color-info-50);color:var(--color-info-700)}.info-message{background:var(--color-info-50);color:var(--color-info-700);padding:.75rem var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.warning-message{background:var(--color-warning-50);color:var(--color-warning-700);padding:.75rem var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.impersonation-notice{position:fixed;top:0;left:0;right:0;background:var(--color-danger-700);color:var(--color-white);padding:.25rem var(--spacing-md);font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);z-index:1000}.impersonation-notice .impersonation-exit{color:var(--color-white);text-decoration:underline}.impersonation-notice .impersonation-exit:hover{text-decoration:none}.readonly-notice{position:fixed;top:0;left:0;right:0;background:var(--color-gray-700);color:var(--color-white);padding:.25rem var(--spacing-md);font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);z-index:1001}body:has(.readonly-notice) .impersonation-notice{top:1.75rem}body:has(.readonly-notice){padding-top:1.75rem}body:has(.impersonation-notice){padding-top:1.75rem}body:has(.readonly-notice):has(.impersonation-notice){padding-top:3.5rem}.tag-tagger{border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-xs);background:var(--color-bg);min-height:42px}.tag-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.tag-tags:empty{margin-bottom:0}.tag-tag{display:inline-flex;align-items:center;background:var(--color-primary);color:#fff;padding:.2rem .5rem;border-radius:var(--border-radius);font-size:var(--font-size-sm)}.tag-tag-remove{background:none;border:none;color:#fff;margin-left:var(--spacing-xs);padding:0;cursor:pointer;font-size:1rem;line-height:1;opacity:.7}.tag-tag-remove:hover{opacity:1}.tag-input-wrapper{position:relative}.tag-input-wrapper input{border:none;padding:var(--spacing-xs);width:100%;outline:none;background:rgba(0,0,0,0)}.tag-input-wrapper input:focus{box-shadow:none}.tag-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--color-bg);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--border-radius) var(--border-radius);max-height:200px;overflow-y:auto;z-index:1000;display:none}.tag-suggestions.active{display:block}.tag-suggestion{padding:.5rem .75rem;cursor:pointer}.tag-suggestion:hover,.tag-suggestion.selected{background:var(--color-bg-alt)}.tag-suggestion.disabled{color:var(--color-text-muted);cursor:default;background:none}.global-header-controls{display:flex;align-items:center;gap:var(--spacing-md);margin-left:auto}.header-right{display:flex;align-items:center;gap:var(--spacing-md);margin-left:auto}.quicksearch-wrapper{position:relative}.quicksearch-input{width:220px;padding:var(--spacing-xs) var(--spacing-sm);padding-left:32px;font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-white);transition:all var(--transition-fast)}.quicksearch-input::placeholder{color:var(--color-text-muted)}.quicksearch-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(59,130,246,.2);width:300px}.quicksearch-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.quicksearch-dropdown{display:none;position:absolute;top:100%;left:0;right:0;min-width:400px;max-height:400px;margin-top:4px;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:900;overflow:hidden}.quicksearch-dropdown.show{display:block}.quicksearch-results{list-style:none;margin:0;padding:0;max-height:380px;overflow-y:auto}.quicksearch-project-header{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:var(--color-gray-50);border-bottom:1px solid var(--color-border);color:var(--color-text)}.quicksearch-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);padding-left:calc(var(--spacing-md) + 4px);cursor:pointer;font-size:var(--font-size-sm);transition:background-color var(--transition-fast)}.quicksearch-item:hover,.quicksearch-item.selected{background-color:var(--color-gray-100)}.quicksearch-item.is-closed{color:var(--color-text-muted)}.quicksearch-item.is-closed .quicksearch-title{font-style:italic}.quicksearch-badge{flex-shrink:0;width:10px;height:10px;border-radius:50%}.quicksearch-badge.badge-pink{background-color:#ec4899}.quicksearch-badge.badge-danger{background-color:var(--color-danger)}.quicksearch-badge.badge-warning{background-color:var(--color-warning)}.quicksearch-badge.badge-primary{background-color:var(--color-primary)}.quicksearch-badge.badge-neutral{background-color:var(--color-gray-400)}.quicksearch-badge.badge-success{background-color:var(--color-success)}.quicksearch-id{flex-shrink:0;min-width:45px}.quicksearch-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quicksearch-empty{padding:var(--spacing-md);text-align:center;color:var(--color-text-muted)}.app-container{display:flex;min-height:100vh}:root{--sidebar-width: 250px;--sidebar-collapsed-width: 48px}html.sidebar-collapsed .app-sidebar:not(.is-open){width:var(--sidebar-collapsed-width)}.app-sidebar{width:var(--sidebar-width);background-color:var(--color-gray-900);color:var(--color-white);flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;z-index:100;transition:width var(--transition-normal),transform var(--transition-normal)}@media(min-width: 769px){.app-sidebar:has(.sidebar-group:hover:not(.is-open)){overflow:visible}}.app-sidebar.is-collapsed{width:var(--sidebar-collapsed-width);overflow:visible}.app-sidebar.is-collapsed .sidebar-header{justify-content:center;padding:var(--spacing-xs)}.app-sidebar.is-collapsed .sidebar-nav{padding:var(--spacing-xs);overflow:visible}.app-sidebar.is-collapsed .sidebar-text,.app-sidebar.is-collapsed .sidebar-chevron{display:none}.app-sidebar.is-collapsed .sidebar-submenu{margin-left:2px;padding-left:0;border-left:1px solid var(--color-gray-700)}.app-sidebar.is-collapsed .sidebar-group:hover:not(.is-open) .sidebar-submenu{display:block;position:absolute;left:100%;top:0;margin-left:0;padding-left:0;border-left:none;background-color:var(--color-gray-800);border-radius:var(--radius-md);min-width:180px;padding:var(--spacing-xs);box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:300}.app-sidebar.is-collapsed .sidebar-group:hover:not(.is-open) .sidebar-submenu .sidebar-link{justify-content:flex-start;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm)}.app-sidebar.is-collapsed .sidebar-group:hover:not(.is-open) .sidebar-submenu .sidebar-text{display:inline}.app-sidebar.is-collapsed .sidebar-group:hover:not(.is-open) .sidebar-submenu .sidebar-icon{display:inline-block}.app-sidebar.is-collapsed .sidebar-group:hover:not(.is-open)>.sidebar-group-header::after{display:none}.app-sidebar.is-collapsed .sidebar-link{justify-content:center;padding:var(--spacing-sm) var(--spacing-xs);position:relative}.app-sidebar.is-collapsed .sidebar-link::after{content:attr(data-title);position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-gray-800);color:var(--color-white);font-size:var(--font-size-sm);white-space:nowrap;border-radius:var(--radius-md);opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast);z-index:300;pointer-events:none}.app-sidebar.is-collapsed .sidebar-link:hover::after{opacity:1;visibility:visible}.app-sidebar.is-collapsed .sidebar-toggle-icon{transform:rotate(180deg)}.app-sidebar.is-collapsed .sidebar-footer{padding:var(--spacing-xs)}.app-sidebar.is-collapsed .sidebar-footer .sidebar-link{flex-direction:column;gap:0}.sidebar-header{display:flex;align-items:center;justify-content:flex-end;padding:var(--spacing-sm);border-bottom:1px solid var(--color-gray-700);min-height:48px}.sidebar-toggle,.sidebar-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:rgba(0,0,0,0);border:none;color:var(--color-gray-400);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.sidebar-toggle:hover,.sidebar-close:hover{background-color:var(--color-gray-800);color:var(--color-white)}.sidebar-close{display:none}.sidebar-toggle-icon{transition:transform var(--transition-normal)}.sidebar-text{white-space:nowrap;transition:opacity var(--transition-fast),width var(--transition-fast)}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;background-color:var(--color-bg-alt)}.app-header{background-color:var(--color-white);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column}.global-header-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--color-border);gap:var(--spacing-md)}.page-header-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-lg);gap:var(--spacing-md)}.global-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.system-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--color-text);text-decoration:none;white-space:nowrap}.system-name:hover{color:var(--color-primary)}.header-project-selector{position:relative}.header-select{padding:var(--spacing-xs) var(--spacing-sm);padding-right:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-xs) center}.header-select:focus{outline:none;border-color:var(--color-primary)}.mobile-sidebar-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:rgba(0,0,0,0);border:none;color:var(--color-text);cursor:pointer;border-radius:var(--radius-md);flex-shrink:0}.mobile-sidebar-toggle:hover{background-color:var(--color-bg-alt)}.app-content{flex:1;padding:var(--spacing-lg)}.sidebar-nav{padding:var(--spacing-md);flex:1}.header-controls{display:flex;align-items:center;gap:var(--spacing-md)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);cursor:pointer;user-select:none}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.hide_completed .case-table .status_standby,.hide_completed .case-table .status_done,.hide_completed .case-table .status_delivered{display:none}.sidebar-menu{list-style:none}.sidebar-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);min-height:40px;color:var(--color-gray-300);border-radius:var(--radius-md);transition:all var(--transition-fast)}.sidebar-link:hover{background-color:var(--color-gray-800);color:var(--color-white)}.sidebar-link.active{background-color:var(--color-primary);color:var(--color-white)}.sidebar-icon{display:inline-block;flex-shrink:0;vertical-align:middle}.sidebar-group-header{font-size:var(--font-size-sm);cursor:pointer;user-select:none}.sidebar-group-header:hover{background-color:var(--color-gray-800);color:var(--color-white)}.sidebar-group-header .sidebar-chevron{transition:transform var(--transition-fast);margin-left:auto}.sidebar-group-header.is-open .sidebar-chevron{transform:rotate(180deg)}.sidebar-group-label{flex:1}.sidebar-submenu{margin-left:var(--spacing-md);padding-left:var(--spacing-sm);border-left:1px solid var(--color-gray-700);display:none}.sidebar-group.is-open .sidebar-submenu{display:block}.sidebar-submenu .sidebar-link{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.sidebar-group{position:relative}@media(min-width: 769px){.sidebar-group:hover:not(.is-open) .sidebar-submenu{display:block;position:absolute;left:100%;top:0;margin-left:0;padding-left:0;border-left:none;background-color:var(--color-gray-800);border-radius:var(--radius-md);min-width:180px;padding:var(--spacing-xs);box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:300}.sidebar-group:hover:not(.is-open) .sidebar-submenu .sidebar-link{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm)}.sidebar-group:hover:not(.is-open)>.sidebar-group-header::after{display:none}}.sidebar-footer{margin-top:auto;padding:var(--spacing-md);border-top:1px solid var(--color-gray-700)}.page-header{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.2;margin:0}.page-subtitle{color:var(--color-text-muted);font-size:var(--font-size-sm)}.user-selector{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.user-selector:focus{outline:none;border-color:var(--color-primary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.sidebar-overlay{display:none;position:fixed;inset:0;background-color:rgba(0,0,0,.5);z-index:99}@media(max-width: 768px){.app-container{flex-direction:column}.app-sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);width:var(--sidebar-width);z-index:200}.app-sidebar.is-open{transform:translateX(0)}.app-sidebar.is-collapsed{width:var(--sidebar-width)}.app-sidebar.is-collapsed .sidebar-header{justify-content:flex-start;padding:var(--spacing-sm)}.app-sidebar.is-collapsed .sidebar-nav{padding:var(--spacing-md)}.app-sidebar.is-collapsed .sidebar-text,.app-sidebar.is-collapsed .sidebar-chevron{opacity:1;width:auto}.app-sidebar.is-collapsed .sidebar-link{justify-content:flex-start;padding:var(--spacing-sm) var(--spacing-md)}.app-sidebar.is-collapsed .sidebar-group-header{pointer-events:auto}.app-sidebar.is-collapsed .sidebar-toggle-icon{transform:none}.app-sidebar.is-collapsed .sidebar-group.is-open .sidebar-submenu{display:block !important}.app-sidebar.is-collapsed .sidebar-footer{padding:var(--spacing-md)}.app-sidebar.is-collapsed .sidebar-footer .sidebar-link{flex-direction:row;gap:var(--spacing-sm)}.sidebar-overlay.is-visible{display:block}.mobile-sidebar-toggle{display:flex}.sidebar-toggle{display:none}.sidebar-close{display:flex;order:-1}.sidebar-header{justify-content:flex-start}.app-header{position:sticky;top:0;z-index:50}.global-header-bar{padding:var(--spacing-xs) var(--spacing-sm)}.page-header-bar{padding:var(--spacing-xs) var(--spacing-sm)}.system-name{font-size:var(--font-size-sm)}.header-project-selector{display:none}.page-title{font-size:var(--font-size-lg)}.app-content{padding:var(--spacing-md)}.header-right{flex-wrap:wrap;gap:var(--spacing-xs)}}@media(max-width: 1024px)and (min-width: 769px){.global-header-bar{flex-wrap:wrap}}#timer-wrapper{display:none;position:fixed;top:0;right:0;border:1px solid silver;border-top:none;border-radius:0 0 0 10px;width:40px;height:20px;background-color:hsla(0,0%,100%,.9);backdrop-filter:blur(5px);transition:200ms;z-index:1200;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:13px}#timer-wrapper .add-time-report{margin-top:3rem;margin-left:4rem}#timer-wrapper .add-time-report:not([disabled]){cursor:pointer}#timer-wrapper .add-time-report.working{cursor:wait}#timer-wrapper .time-report-info{margin-left:3rem;max-width:20rem;padding:1rem;border-radius:5px;border:1px solid #cca;background-color:#ffc}#timer-wrapper .time-report-error{margin-left:3rem;max-width:20rem;padding:1rem;border-radius:5px;border:1px solid #c77;background-color:#fcc}#timer-wrapper .time-report-status{margin-left:3rem;max-width:20rem;padding-left:1rem}.timer-standalone #timer-wrapper,.timer-view #timer-wrapper{display:block;position:static;width:100%;background-color:#fff;border:none}.timer-active #timer-wrapper{display:block}#timer-control{padding:0 3px;background-color:#afa;border-radius:0 0 0 10px;height:20px;display:flex;align-items:center;font-size:10px;transition:200ms}#timer-control>div{display:flex;align-items:center;text-align:center;white-space:nowrap}#timer-control #timer-info{text-align:left}.timer-standalone #timer-control,.timer-view #timer-control{height:50px;font-size:16px;position:sticky;top:0}.timer-standalone #timer-control>div,.timer-view #timer-control>div{padding:0 20px}.timer-standalone #timer-control>div,.timer-standalone #timer-report-wrapper,.timer-view #timer-control>div,.timer-view #timer-report-wrapper{width:100%;max-width:800px;margin:0 auto}#link-timer-external{margin-left:190px;color:#333}#link-timer-external .fa{display:inline-block;width:20px}.timer-standalone #link-timer-external{display:none}#timer-start,#timer-stop{cursor:pointer;text-shadow:0 0 1px #000;font-size:16px}.timer-running:not(.timer-standalone):not(.timer-view) #timer-control:hover #timer-start,.timer-running:not(.timer-standalone):not(.timer-view) #timer-control:hover #timer-stop{margin-left:5px}#timer-start{color:#0a0;display:initial}#timer-start:hover{color:lime}.timer-running #timer-start{display:none}.timer-running:not(.timer-standalone):not(.timer-view) #timer-control:hover #timer-start{display:initial}#timer-stop{color:red;display:none}#timer-stop:hover{color:#900}.timer-running #timer-stop{display:initial}.timer-standalone #timer-start,.timer-standalone #timer-stop,.timer-view #timer-start,.timer-view #timer-stop{font-size:40px;position:relative}#timer-info{overflow:hidden;padding:0;width:0;white-space:nowrap}.timer-expanded #timer-info{padding:0 10px;width:482px}.timer-expanded.timer-running:not(.timer-standalone):not(.timer-view) #timer-control:hover #timer-info{width:457px}.timer-standalone.timer-expanded #timer-info,.timer-view.timer-expanded #timer-info{width:100%;max-width:80vw}.timer-running #timer-data,.timer-expanded #timer-data{width:40px}.timer-accordion{display:inline-block;padding:2px 5px;cursor:pointer;color:#777}#timer-expand{display:initial;transition:transform 300ms}#timer-expand:hover{transform:rotate(30deg)}.timer-expanded #timer-expand{display:none}#timer-collapse{display:none}.timer-expanded #timer-collapse{display:initial}.timer-standalone.timer-expanded #timer-collapse,.timer-view.timer-expanded #timer-collapse{display:none}.timer-running #timer-wrapper{width:80px}.timer-running #timer-control{background-color:#faa}.timer-running:not(.timer-standalone):not(.timer-view):not(.timer-expanded) #timer-wrapper:hover{width:105px}.timer-expanded #timer-wrapper{width:600px;height:1000px;max-height:80vh;padding-bottom:20px}.timer-expanded #timer-control{border-radius:0}.timer-expanded #timer-report-wrapper{display:block}.timer-standalone.timer-expanded #timer-wrapper,.timer-view.timer-expanded #timer-wrapper{width:100%;height:auto;max-height:none}#timer-report-wrapper{display:none;overflow:auto;height:100%;padding-top:10px}#timer-report-wrapper table{width:100%;border-collapse:collapse}#timer-report-wrapper th{text-align:left;padding:3px 0}#timer-report-wrapper .tabcontent{display:none;padding:10px}#timer-report-wrapper .tabcontent.current{display:block}#timer-report-wrapper .date-navigate{padding:2px 8px;margin:0 2px;cursor:pointer;background:#f5f5f5;border:1px solid #ccc;border-radius:3px}#timer-report-wrapper .date-navigate:hover{background:#e5e5e5}#timer-report-wrapper .date-navigate.disabled{color:#aaa;cursor:default}#timer-report-wrapper .timer-edit{color:#367}#timer-report-wrapper .timer-edit-save{color:#272}#timer-report-wrapper .list-edit-controls{width:20px}#timer-report-wrapper .timer-delete{color:#79a}#timer-report-wrapper .timer-delete:hover{color:#e00}#timer-report-wrapper .list-delete-control{width:14px;padding:1px 1px 1px 0}#timer-report-wrapper .list-delete-control .timer-delete{display:none}#timer-report-wrapper tr:not(.current-timer):hover .timer-delete{display:revert;cursor:pointer}#timer-report-wrapper .deleted td{text-align:center;color:#aaa;background-color:#ffd}#timer-report-wrapper .deleted td a{font-style:initial;color:initial}#timer-report-wrapper .time{white-space:nowrap;min-width:7rem}#timer-report-wrapper .time input{text-align:center}#timer-report-wrapper tr td input,#timer-report-wrapper tr td textarea{background-color:#fff;border:1px solid #aaa;border-radius:2px;padding:1px 2px;min-height:0;max-width:240px;font-family:inherit;font-size:inherit}#timer-report-wrapper tr td textarea{overflow:auto}#timer-report-wrapper tr td input[disabled],#timer-report-wrapper tr td textarea[disabled]{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);overflow:hidden}#timer-report-wrapper tr td textarea[disabled]::-webkit-resizer{display:none}#timer-report-wrapper td{cursor:default}#timer-report-wrapper .id-case input{cursor:pointer}#timer-report-wrapper tr:not(.edit) :where(input:disabled,textarea:disabled){pointer-events:none}#timer-report-wrapper .case-title{padding-top:0}#timer-report-wrapper .case-title div{font-size:10px;color:#777;font-style:italic;margin-top:-2px}#timer-report-wrapper tr .timer-start{visibility:hidden}#timer-report-wrapper tr:hover .timer-start{visibility:visible}#timer-report-wrapper tr .timer-edit{display:none}#timer-report-wrapper tr:hover .timer-edit{display:initial}#timer-report-wrapper tr.edit .timer-edit{display:none}#timer-report-wrapper tr .timer-edit-save{display:none}#timer-report-wrapper tr.edit .timer-edit-save{display:initial}#timer-report-wrapper tr.create-timer .timer-start{visibility:visible}#timer-report-wrapper tr.create-timer:hover .timer-edit{display:initial}#timer-report-wrapper tr.create-timer.edit .timer-edit{display:none}#timer-report-wrapper tr.create-timer .timer-edit-save{display:none}#timer-report-wrapper button.disabled{color:#aaa}.timer-standalone #timer-report-wrapper .id-case input,.timer-view #timer-report-wrapper .id-case input,#timer-report-wrapper .time input,#timer-report-wrapper .text textarea{cursor:text}#timer-report-date{text-align:center;border:1px solid #ccc;border-radius:3px;padding:2px 5px}.tabcontrol{padding:10px 0 0}.tabcontainer{display:flex;gap:10px;padding:0 10px;border-bottom:1px solid #ddd}.tabcontainer [data-tab]{padding:5px 10px;cursor:pointer;border-bottom:2px solid rgba(0,0,0,0)}.tabcontainer [data-tab].current{border-bottom-color:#007bff;font-weight:500}.tabcontainer [data-tab]:hover:not(.current){background-color:#f5f5f5}.timer-start,.timer-stop,#timer-report-wrapper .timer-edit,#timer-report-wrapper .timer-edit-save{cursor:pointer;width:14px;height:14px;padding:5px 3px}#timer-report .timer-start{padding:3px 3px}.timer-start{color:#3a3}.timer-stop{color:#f33}#timer-list .current-timer{background-color:#fed}#timer-list .idle{text-align:center;font-style:italic;font-size:10px;background-color:#eee;color:#999}#timer-list .idle td{height:auto}#timer-list td{height:26px}#timer-list .case-title div{padding-left:3px;margin-top:-5px}#timer-report td{padding:2px 2px}#timer-report .status-none{background-color:#ffffe0}#timer-report .status-partial{background-color:#e0ffff}#timer-report .avslutat{color:red}#timer-report .nolltid{background-color:#ffb6c1}.highlight{background-color:#ffb;border:1px solid #dda}#notification-fixed{display:none;position:fixed;top:30px;right:10px;background:#fff;border:1px solid #c00;border-radius:5px;padding:10px 30px 10px 15px;z-index:1000;box-shadow:0 2px 10px rgba(0,0,0,.2)}#notification-fixed .close{position:absolute;top:5px;right:10px;cursor:pointer;font-size:18px;color:#999}.timer-standalone #notification-fixed,.timer-view #notification-fixed{position:absolute;top:20px;left:400px;width:auto;display:inline-block}.nowrap{white-space:nowrap}.case-table .timer-control{width:30px;text-align:center}.case-table .timer-start,.case-table .timer-stop{cursor:pointer;font-size:14px;opacity:.3;transition:opacity .2s}.case-table tr:hover .timer-start,.case-table tr:hover .timer-stop{opacity:1}.case-table .timer-start{color:#3a3}.case-table .timer-start:hover{color:lime}.case-table .timer-stop{color:#f33;opacity:1}.case-table .timer-stop:hover{color:#c00}@media print{.noprint,#timer-wrapper{display:none !important}.timer-standalone #timer-wrapper{display:initial}}.week-table{width:100%;border-collapse:collapse}.week-table th,.week-table td{padding:var(--spacing-sm) .75rem;border-bottom:1px solid var(--color-border);text-align:left}.week-table th{background:var(--color-gray-50);font-weight:var(--font-weight-semibold)}.week-table tbody tr:hover{background:var(--color-gray-50)}.timer-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.timer-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.125rem var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);white-space:nowrap}.timer-badge.now{background:var(--color-success-100);color:var(--color-success-700)}.timer-badge.today{background:var(--color-primary-100);color:var(--color-primary-700)}.timer-badge.week{background:var(--color-gray-100);color:var(--color-gray-700)}.timer-badge .label{font-weight:var(--font-weight-medium)}.date-nav{display:flex;align-items:center;gap:var(--spacing-sm)}.date-display{font-weight:500;min-width:140px;text-align:center}.timer-total{font-size:var(--font-size-lg);color:var(--color-text-secondary)}.running-timer-banner{background:var(--color-primary);color:#fff;padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);border-radius:var(--border-radius)}.running-timer-info{display:flex;align-items:center;gap:var(--spacing-md)}.running-indicator{width:10px;height:10px;background:#f44;border-radius:50%;animation:pulse 1s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.running-duration{font-weight:bold;font-size:var(--font-size-lg)}.timer-tabs{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-md)}.timer-tab{padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;color:var(--color-text-secondary);border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px}.timer-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.timer-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.timer-entry{display:flex;align-items:center;padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--border-radius);gap:var(--spacing-md)}.timer-entry.is-running{background:rgba(var(--color-primary-rgb), 0.1);border-left:3px solid var(--color-primary)}.timer-time{min-width:100px;font-family:monospace}.timer-details{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.timer-case{font-weight:500;color:var(--color-primary);text-decoration:none}.timer-case:hover{text-decoration:underline}.timer-text{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.timer-project{color:var(--color-text-muted);font-size:var(--font-size-sm)}.timer-duration{font-weight:bold;font-family:monospace;min-width:60px;text-align:right}.timer-gap{display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-warning-bg);border-left:3px solid var(--color-warning);border-radius:var(--border-radius);font-size:var(--font-size-sm);color:var(--color-warning-text)}.timer-start-section{margin-top:var(--spacing-lg);text-align:center}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-muted)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.report-table-container{overflow-x:auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.admin-filters{display:flex;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-md)}.admin-filters input[type=text]{padding:var(--spacing-sm) .75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);width:250px}.admin-filters label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);cursor:pointer}.admin-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.admin-table th,.admin-table td{padding:.75rem var(--spacing-md);border-bottom:1px solid var(--color-border);text-align:left}.admin-table th{font-weight:var(--font-weight-semibold);background:var(--color-gray-50)}.admin-table tbody tr:hover{background:var(--color-gray-50)}.admin-table .actions{display:flex;gap:var(--spacing-sm)}.admin-table .align-right{text-align:right}.text-muted{color:var(--color-text-muted)}.member-list{list-style:none;padding:0;margin:0}.member-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-gray-100)}.member-item:last-child{border-bottom:none}.member-info{display:flex;flex-direction:column}.member-name{font-weight:var(--font-weight-medium)}.member-email{font-size:var(--font-size-xs);color:var(--color-text-muted)}.member-actions{display:flex;gap:var(--spacing-sm);align-items:center}.add-member-row{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.add-member-row select{flex:1;padding:var(--spacing-sm) .75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.add-member-row select:disabled{background:var(--color-gray-100);color:var(--color-text-muted);cursor:not-allowed}.badge-group{display:inline-block;padding:.125rem .375rem;font-size:.625rem;border-radius:var(--radius-sm);background:var(--color-success-100);color:var(--color-success-700);margin-right:var(--spacing-xs)}.badge-user{background:var(--color-primary-100);color:var(--color-primary-700)}.form-container{max-width:500px}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.checkbox-group{display:flex;align-items:center}.back-link{margin-bottom:var(--spacing-md)}.back-link a{color:var(--color-text-muted);text-decoration:none}.back-link a:hover{color:var(--color-text)}.add-form{display:flex;gap:var(--spacing-sm);align-items:center}.add-form select{padding:var(--spacing-sm) .75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);min-width:250px}.add-member-form{display:flex;gap:var(--spacing-sm);align-items:center}.add-member-form select{padding:var(--spacing-sm) .75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);min-width:250px}.dashboard-navigation{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.dashboard-navigation .button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-gray-100);border-radius:var(--radius-md);text-decoration:none;color:var(--color-text)}.dashboard-navigation .button:hover{background:var(--color-gray-200)}.current-quarter{font-weight:var(--font-weight-semibold);font-size:1.1rem}.dashboard-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.dashboard-table th,.dashboard-table td{padding:var(--spacing-sm) .75rem;border-bottom:1px solid var(--color-border)}.dashboard-table th{text-align:left;font-weight:var(--font-weight-semibold);background:var(--color-gray-50)}.dashboard-table .align-right{text-align:right}.week-row{cursor:pointer}.week-row:hover{background:var(--color-gray-50)}.week-cell{font-weight:var(--font-weight-semibold)}.bar-chart{width:200px}.bar{display:flex;height:20px;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-gray-100)}.bar-segment{display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);color:var(--color-white);font-weight:var(--font-weight-medium)}.bar-segment.first-line{background:var(--color-success-500)}.bar-segment.escalated{background:var(--color-warning-500)}.details-row{display:none}.details-row.open{display:table-row}.details-row td{background:var(--color-gray-50);padding:var(--spacing-md)}.case-lists{display:grid;gap:var(--spacing-lg)}.case-list-section h4{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm)}.first-line-heading{color:var(--color-success-700)}.escalated-heading{color:var(--color-warning-700)}.case-list{width:100%;font-size:.8125rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);border-collapse:collapse}.case-list th,.case-list td{padding:.375rem var(--spacing-sm);border-bottom:1px solid var(--color-gray-100)}.case-list th{background:var(--color-gray-100);font-weight:var(--font-weight-medium)}.case-list tr:last-child td{border-bottom:none}.case-list a{color:var(--color-primary-600);text-decoration:none}.case-list a:hover{text-decoration:underline}.summary-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:var(--font-size-xs)}@media print{.noprint{display:none !important}.app-sidebar{display:none !important}.app-main{margin-left:0 !important}}.settings-section{background:var(--color-gray-50);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border-left:3px solid rgba(0,0,0,0)}.settings-section.active{border-left-color:var(--color-success)}.settings-section h2{margin:0 0 var(--spacing-md) 0;font-size:1.1rem;color:var(--color-text)}.setting-row{padding:.75rem 0;border-bottom:1px solid var(--color-border)}.setting-row:last-child{border-bottom:none}.setting-row label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.setting-row label input[type=checkbox]{width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:var(--color-primary-500);flex-shrink:0}.setting-row label input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.setting-text{display:flex;flex-direction:column}.setting-text strong{font-weight:var(--font-weight-medium)}.setting-text span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.password-form{display:grid;gap:var(--spacing-md);max-width:400px}.password-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.password-form label{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.password-form input{padding:var(--spacing-sm) .75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-base)}.password-form input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-primary-100)}.password-form .btn{align-self:flex-start}.password-form .btn:disabled{opacity:.5;cursor:not-allowed}.password-requirements{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-sm)}.login-page{background-color:#ccc;display:flex;justify-content:center;align-items:center;min-height:100vh}.login-container{background-color:#eee;padding:40px;width:100%;max-width:400px}.login-form table{width:100%}.login-form td{padding:5px 0}.login-form input[type=text],.login-form input[type=password]{width:100%;padding:8px;box-sizing:border-box}.login-form input[type=submit]{padding:8px 20px;cursor:pointer}.error-message{background-color:#fcc;border:1px solid #c00;color:#c00;padding:10px;margin-bottom:20px}.sso-section{text-align:center;margin-bottom:30px}.sso-button{display:inline-block;background-color:#06c;color:#fff;padding:12px 24px;text-decoration:none;border-radius:4px}.sso-button:hover{background-color:#0052a3}.divider{display:flex;align-items:center;margin:20px 0;color:#666}.divider::before,.divider::after{content:"";flex:1;border-bottom:1px solid #999}.divider span{padding:0 10px}.form-footer{text-align:right;margin-top:20px}.form-footer a{color:#666;text-decoration:none}.form-footer a:hover{text-decoration:underline}.remember-me{display:flex;align-items:center;gap:8px;margin:10px 0}.reportform{background:var(--color-gray-100);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.reportform label{margin-right:var(--spacing-md)}.reportform input[type=text]{width:120px}.reportform p{margin:var(--spacing-sm) 0}.quick-links{margin-bottom:var(--spacing-md)}.quick-links a{margin-right:var(--spacing-md)}.report-table{font-size:var(--font-size-sm)}.report-table th,.report-table td{padding:var(--spacing-sm);vertical-align:top}.report-table .align-right{text-align:right}.report-table .align-center{text-align:center}.report-table .nowrap{white-space:nowrap}.report-table .line-left{border-left:2px solid var(--color-gray-300)}.report-table .prel{color:var(--color-warning-700);font-style:italic}.report-table .deb-ja{color:var(--color-success-700)}.report-table .deb-avbokad{color:var(--color-danger-700)}.report-table .user-assigned{font-size:var(--font-size-xs);color:var(--color-text-muted);padding-top:0}.report-table tfoot td{font-weight:var(--font-weight-semibold)}.arrow-up-green::before{content:"↑";color:var(--color-success-700)}.arrow-down-lightgray::before{content:"↓";color:var(--color-gray-400)}@media print{.noprint{display:none !important}.app-sidebar{display:none !important}.app-main{margin-left:0 !important}}.internal{border-left:3px solid var(--color-success);padding-left:var(--spacing-sm)}.internal .internal{border-left:none;padding-left:0}table .internal,th.internal,tr.internal{border-left:none;border-bottom:2px solid var(--color-success);padding-left:0}.form-input-sm{max-width:100px}.form-checkbox{width:auto;margin-right:var(--spacing-xs)}.comment-documentation{background:var(--color-bg-alt);border-left:3px solid var(--color-success);padding-left:var(--spacing-md);margin-left:calc(-1*var(--spacing-md))}.attachment-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));gap:var(--spacing-md)}.attachment-item{text-align:center}.attachment-link{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;padding:var(--spacing-sm);border-radius:var(--border-radius);transition:background .2s}.attachment-link:hover{background:var(--color-bg-alt)}.attachment-thumb{max-width:100px;max-height:80px;border-radius:var(--border-radius);margin-bottom:var(--spacing-xs)}.attachment-icon{font-size:2rem;margin-bottom:var(--spacing-xs)}.attachment-name{font-size:var(--font-size-sm);word-break:break-word;max-width:100%}.file-upload-area{border:2px dashed var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);text-align:center;transition:border-color .2s,background .2s;cursor:pointer}.file-upload-area:hover,.file-upload-area.drag-over{border-color:var(--color-primary);background:var(--color-bg-alt)}.file-upload-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.file-upload-icon{font-size:2rem}.upload-progress{margin-top:var(--spacing-md)}.progress-bar{height:4px;background:var(--color-bg-alt);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);width:100%;animation:progress-indeterminate 1.5s infinite}@keyframes progress-indeterminate{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.upload-result{margin-top:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--border-radius)}.case-link{color:var(--color-primary);text-decoration:none;font-weight:500}.case-link:hover{text-decoration:underline}.related-cases-list{list-style:none;padding:0;margin:var(--spacing-xs) 0;font-size:var(--font-size-sm)}.related-cases-list li{padding:var(--spacing-xs) 0}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.p-1{padding:var(--spacing-sm)}.p-2{padding:var(--spacing-md)}.p-3{padding:var(--spacing-lg)}.p-4{padding:var(--spacing-xl)}.d-flex{display:flex}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-none{display:none}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing-sm)}.gap-2{gap:var(--spacing-md)}.gap-3{gap:var(--spacing-lg)}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.hidden{display:none}.visible{visibility:visible}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.whitespace-pre-wrap{white-space:pre-wrap}.cursor-pointer{cursor:pointer}.font-mono{font-family:monospace}.ml-1{margin-left:var(--spacing-xs)}.ml-2{margin-left:var(--spacing-sm)}.mr-1{margin-right:var(--spacing-xs)}.mr-2{margin-right:var(--spacing-sm)}.pb-2{padding-bottom:var(--spacing-md)}.w-fit{width:fit-content}.w-140{width:140px}.w-200{width:200px}.text-muted{color:var(--color-text-muted)}.flex-2{flex:2}.icon-inline{display:inline-block;vertical-align:middle;opacity:.6}.summary-toggle{cursor:pointer;font-weight:500}.comment-item-border{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.card-title-compact{margin:0;font-size:var(--font-size-base)}.settings-card-title{margin:0 0 1rem 0;font-size:1.1rem}.badge-sm{font-size:.7em}.form-inline{display:inline}.flex-col-sm{flex:1;min-width:120px}.flex-col-md{flex:1;min-width:150px}.flex-col-lg{flex:1;min-width:200px}.flex-col-xl{flex:1;min-width:300px}.flex-col-2xl{flex:1;min-width:400px}.col-narrow{width:2em}.col-starred{width:1.5em}.checklist-checkbox{cursor:pointer;margin-right:.5em}.checklist-checkbox.working{opacity:.5;pointer-events:none}.checklist-checked{text-decoration:line-through;opacity:.6;color:var(--color-text-muted)}.log-event{cursor:default}.log-event[title]{cursor:help;border-bottom:1px dotted var(--color-text-muted)}.diff-old{text-decoration:line-through;color:var(--color-text-muted);margin-right:.25em}.notification-wrapper{position:relative;display:inline-block}.notification-wrapper .notification-icon{cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border-radius:var(--border-radius);transition:background-color .2s}.notification-wrapper .notification-icon:hover{background-color:var(--color-gray-100)}.notification-wrapper .notification-icon svg{color:var(--color-text-muted)}.notification-wrapper .notification-badge{position:absolute;top:-2px;right:-2px;background-color:var(--color-danger);width:10px;height:10px;border-radius:50%;display:none}.notification-wrapper .notification-badge.has-unread{display:block}.notification-wrapper .notification-dropdown{display:none;position:absolute;top:100%;right:0;width:320px;max-height:85vh;margin-top:4px;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:9999;overflow:hidden;flex-direction:column}.notification-wrapper .notification-dropdown.show{display:flex}.notification-wrapper .notification-header{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-gray-800);color:var(--color-white);border-bottom:1px solid var(--color-border)}.notification-wrapper .notification-list{list-style:none;margin:0;padding:0;overflow-y:auto;background:var(--color-white)}.notification-wrapper .notification-list li{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color .2s;background-color:var(--color-white);font-weight:normal}.notification-wrapper .notification-list li:hover{background-color:var(--color-gray-100)}.notification-wrapper .notification-list li:last-child{border-bottom:none}.notification-wrapper .notification-list li.unread{background-color:#dbeafe}.notification-wrapper .notification-list li .header{font-size:var(--font-size-sm);font-weight:normal;margin-bottom:2px;color:var(--color-text)}.notification-wrapper .notification-list li .event{font-size:var(--font-size-xs);font-weight:normal;color:var(--color-text-muted)}.notification-wrapper .notification-list li .setread{float:right;cursor:pointer;opacity:.5}.notification-wrapper .notification-list li .setread:hover{opacity:1}.notification-wrapper .notification-footer{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-gray-50);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text)}.notification-wrapper .notification-control{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;color:var(--color-text)}.notification-wrapper .notification-control input{margin:0}

/*# sourceMappingURL=style.css.map */