:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--primary-light: #dbeafe;--secondary-color: #64748b;--success-color: #10b981;--error-color: #ef4444;--warning-color: #f59e0b;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--progress-low: #ef4444;--progress-medium: #f59e0b;--progress-high: #3b82f6;--progress-complete: #10b981;--success-bg: #d1fae5;--success-text: #065f46;--warning-bg: #fed7aa;--warning-text: #92400e;--error-bg: #fee2e2;--error-text: #991b1b;--error-hover: #dc2626;--info-bg: #e6fffa;--info-text: #234e52;--info-border: #81e6d9}.hidden{display:none!important}.invisible{visibility:hidden;pointer-events:none}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-inline-block{display:inline-block}.flex-1{flex:1}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-shrink-0{flex-shrink:0}.align-center{align-items:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.m-0{margin:0}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.w-full{width:100%}.w-auto{width:auto}.min-w-150{min-width:150px}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-muted{color:var(--gray-500)}.text-secondary{color:var(--gray-600)}.text-inactive{color:#666}.text-warning{color:#e67e22}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-italic{font-style:italic}.font-semibold{font-weight:600}.whitespace-nowrap{white-space:nowrap}.line-height-relaxed{line-height:1.8}.position-relative{position:relative}.position-absolute{position:absolute}.cursor-pointer{cursor:pointer}.body-scroll-lock{overflow:hidden!important}.info-box{background:#f0f9ff;border-left:4px solid #0284c7;padding:var(--spacing-md);border-radius:var(--radius-sm)}.info-box-title{margin-top:0;color:#0369a1}.tip-box{display:flex;gap:var(--spacing-sm);align-items:flex-start;padding:12px;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:var(--radius-sm)}.tip-box-icon{font-size:1.5rem;line-height:1}.tip-box-text{margin:0;font-size:var(--font-size-sm);color:#78350f;flex:1}.btn-dismiss{position:absolute;top:8px;right:8px;background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--gray-500);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.btn-dismiss:hover{color:var(--gray-700)}.instructions-list{margin:var(--spacing-sm) 0;padding-left:20px;line-height:1.8}.file-upload-section{display:flex;align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0}.filter-bar{flex:1;display:flex;flex-direction:column;gap:12px}.filter-row{display:flex;gap:12px}.filter-bar-3col{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:start}.actions-column{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-end}.helper-text{margin:0;font-size:var(--font-size-sm);color:var(--gray-500)}.helper-text a{color:var(--primary-color);text-decoration:underline}.col-narrow{width:60px}.col-email{width:200px}.btn .icon,.btn svg:first-child{margin-right:var(--spacing-sm);flex-shrink:0}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow-x:hidden}body{overflow-y:scroll;font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--gray-900);background-color:var(--gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;max-width:100vw;overflow-x:hidden}.main-container{max-width:1400px;margin:0 auto;width:100%;padding:var(--spacing-xl);box-sizing:border-box}.page-main{max-width:1400px;padding:var(--spacing-1xl) 0;width:100%;box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--gray-900)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:44px;padding:.625rem 1.25rem;font-size:var(--font-size-base);font-weight:500;font-family:inherit;line-height:1.5;text-align:center;text-decoration:none;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-azure{background-color:#fff;color:#5e5e5e;border:1px solid #8c8c8c;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-weight:600;transition:all .2s}.btn-azure svg{width:20px;height:20px;flex-shrink:0}.btn-azure:hover:not(:disabled){background-color:#f3f2f1;border-color:#8c8c8c;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:#fff;color:var(--gray-700);border-color:var(--gray-300)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-50);border-color:var(--gray-400)}.btn-danger{background:var(--error-color);color:#fff}.btn-danger:hover:not(:disabled){background:var(--error-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-text{background:transparent;color:var(--gray-600);border:none;padding:.5rem}.btn-text:hover:not(:disabled){color:var(--primary-color);background-color:var(--gray-100)}.btn-link{background:none;color:var(--primary-color);border:none;padding:var(--spacing-xs);text-decoration:underline;height:auto}.btn-link:hover:not(:disabled){color:var(--primary-hover)}.btn-icon{background:transparent;border:none;padding:var(--spacing-sm);font-size:1.25rem;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s;height:auto}.btn-icon:hover:not(:disabled){background-color:var(--gray-100);transform:scale(1.1)}.btn-full{width:100%}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);min-height:36px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.page-header .page-title{flex:1}.page-header .filter-selectors{flex-shrink:0}.page-title h1{margin:0 0 var(--spacing-xs) 0;font-size:2rem;font-weight:600;color:var(--gray-900)}.page-subtitle{margin:0;font-size:1rem;color:var(--gray-600);line-height:1.5}.card{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl)}.card h2{font-size:var(--font-size-2xl);color:var(--gray-900);margin-bottom:var(--spacing-lg)}.card h3{font-size:var(--font-size-xl);color:var(--gray-900);margin-bottom:var(--spacing-md)}.card-compact{padding:var(--spacing-lg)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--gray-200)}.card-body{flex:1}.card-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-200)}.card-stat{background:var(--gray-50);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--gray-200);transition:all .2s;text-align:center}.card-stat .stat-label{font-size:var(--font-size-sm);color:var(--gray-600);margin-bottom:var(--spacing-xs);font-weight:500}.card-stat .stat-value{font-size:var(--font-size-2xl);color:var(--gray-900);font-weight:700}.card-summary{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center}.card-summary.warning{background:linear-gradient(135deg,#fff,#fef3c7);border:1px solid var(--warning-color)}.card-summary .summary-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.card-summary .summary-label{font-size:var(--font-size-sm);color:var(--gray-600);text-transform:uppercase;letter-spacing:.05em}.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-lg)}.grid-auto-fit-lg{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-lg)}.grid-2-col{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.grid-3-col{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-lg)}label{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:500;color:var(--gray-700)}input[type=text],input[type=email],input[type=url],input[type=number],input[type=date],input[type=password],textarea,select,.form-control,.form-input,.form-select{width:100%;min-height:44px;padding:.625rem .875rem;font-size:var(--font-size-base);font-family:inherit;line-height:1.5;color:var(--gray-900);background-color:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);transition:all .2s}select,.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;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 .75rem center;padding-right:2.5rem}input:focus,textarea:focus,select:focus,.form-control:focus,.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}input:disabled,textarea:disabled,select:disabled,.form-control:disabled{background-color:var(--gray-100);cursor:not-allowed;opacity:.6}textarea{resize:vertical;min-height:80px}.bulk-textarea{font-family:monospace;font-size:var(--font-size-sm);resize:vertical}.form-help,.form-hint{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--gray-500)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.form-row-half,.form-row-half .form-row-nested{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-group{padding:var(--spacing-lg);background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.checkbox-group .checkbox-label{font-size:var(--font-size-base);font-weight:500;color:var(--gray-900);margin-bottom:var(--spacing-sm)}.form-notice{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--primary-light);border-radius:var(--radius-sm);color:var(--primary-dark);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.form-notice svg{flex-shrink:0;opacity:.8}.table,.report-table,.results-table,.users-table,.departments-table,.categories-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table thead,.report-table thead,.results-table thead,.users-table thead,.departments-table thead,.categories-table thead{background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.table th,.report-table th,.results-table th,.users-table th,.departments-table th,.categories-table th{padding:var(--spacing-md);text-align:left;font-weight:600;color:var(--gray-600);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.table td,.report-table td,.results-table td,.users-table td,.departments-table td,.categories-table td{padding:var(--spacing-md);border-bottom:1px solid var(--gray-200)}.table tbody tr,.report-table tbody tr,.results-table tbody tr,.users-table tbody tr,.departments-table tbody tr,.categories-table tbody tr{transition:background-color .2s}.table tbody tr:hover,.report-table tbody tr:hover,.results-table tbody tr:hover,.users-table tbody tr:hover,.departments-table tbody tr:hover,.categories-table tbody tr:hover{background:var(--gray-50)}.table tbody tr:last-child td,.report-table tbody tr:last-child td,.results-table tbody tr:last-child td,.users-table tbody tr:last-child td,.departments-table tbody tr:last-child td,.categories-table tbody tr:last-child td{border-bottom:none}.table tbody tr.row-inactive,.users-table tbody tr.row-inactive{opacity:.6}.table-container,.report-table-container,.results-table-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.status-badge,.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.status-badge.success,.status-active{background:var(--success-bg);color:var(--success-text)}.status-badge.warning{background:var(--warning-bg);color:var(--warning-text)}.status-badge.error,.status-inactive{background:var(--error-bg);color:var(--error-text)}.status-pending{background:var(--warning-bg);color:var(--warning-text)}.status-badge.info{background:var(--primary-light);color:var(--primary-color)}.badge-hr{background:var(--info-bg);color:var(--info-text);border:1px solid var(--info-border)}.badge-manager{background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.badge-upper-mgmt{background:#f3e5f5;color:#6a1b9a;border:1px solid #9c27b0}.category-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--primary-light);color:var(--primary-color);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500}.message{padding:var(--spacing-md);margin-top:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.message-success{background-color:#d1fae5;color:#065f46;border:1px solid #10b981}.message-error{background-color:#fee2e2;color:#991b1b;border:1px solid #ef4444}.message-info{background-color:var(--primary-light);color:#1e40af;border:1px solid var(--primary-color)}.form-message{padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);text-align:center}.form-message-success{background-color:#d1fae5;color:#065f46}.form-message-error{background-color:#fee2e2;color:#991b1b}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{width:100%;max-width:420px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--spacing-2xl)}.login-header{text-align:center;margin-bottom:var(--spacing-2xl)}.login-header h1{margin-bottom:var(--spacing-sm);color:var(--gray-900)}.subtitle{color:var(--gray-600);font-size:var(--font-size-sm)}.login-step h2{margin-bottom:var(--spacing-sm);text-align:center}.step-description{text-align:center;color:var(--gray-600);margin-bottom:var(--spacing-xl);font-size:var(--font-size-sm)}#email-display{color:var(--primary-color)}.divider{display:flex;align-items:center;text-align:center;margin:var(--spacing-lg) 0;color:var(--gray-400);font-size:var(--font-size-sm)}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--gray-300)}.divider span{padding:0 var(--spacing-md);font-weight:500}.environment-banner{display:none;text-align:center;padding:6px var(--spacing-md);font-size:.85rem;font-weight:600;letter-spacing:.5px;position:sticky;top:0;z-index:101;width:100%}.environment-banner-test{display:block;background:repeating-linear-gradient(-45deg,#fff3cd,#fff3cd 10px,#ffecb5 10px,#ffecb5 20px);color:#664d03;border-bottom:2px solid #ffc107}.environment-banner-icon{margin-right:4px}.environment-banner-detail{font-weight:400;opacity:.8;font-size:.8rem}.dashboard-header{background:#fff;border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100;width:100%;max-width:100vw;overflow:hidden}.header-content{max-width:1400px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-xl);display:flex;justify-content:space-between;align-items:center}.header-content h1{font-size:var(--font-size-2xl)}.user-menu{display:flex;align-items:center;gap:var(--spacing-lg)}.user-name-link{font-size:var(--font-size-sm);color:var(--gray-700);text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all .2s ease}.user-name-link:hover{color:var(--primary-600);background-color:var(--gray-50)}.help-link{font-size:var(--font-size-sm);color:var(--gray-500);text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all .2s ease}.help-link:hover{color:var(--primary-600);background-color:var(--gray-50)}.progress-section{margin-bottom:var(--spacing-2xl)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.progress-year{font-size:var(--font-size-sm);font-weight:500;color:var(--gray-600);background-color:var(--gray-100);padding:.25rem .75rem;border-radius:var(--radius-md)}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stat{text-align:center}.stat-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-xs)}.stat-label{font-size:var(--font-size-sm);color:var(--gray-600)}.progress-bar-container{margin-bottom:var(--spacing-lg)}.progress-bar{height:24px;background-color:var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--spacing-sm);box-shadow:var(--shadow-md)}.progress-bar-fill{height:100%;transition:width .6s ease;border-radius:var(--radius-lg)}.progress-bar-fill.low{background-color:var(--progress-low)}.progress-bar-fill.medium{background-color:var(--progress-medium)}.progress-bar-fill.high{background-color:var(--progress-high)}.progress-bar-fill.complete{background-color:var(--progress-complete)}.progress-percent{text-align:center;font-size:var(--font-size-sm);font-weight:600;color:var(--gray-700)}.progress-message{text-align:center;padding:var(--spacing-md);background-color:var(--gray-50);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--gray-700)}.progress-message.success{background-color:#d1fae5;color:#065f46}.entries-section{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl)}.entries-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--gray-200)}.entries-title{display:flex;align-items:baseline;gap:var(--spacing-md)}.entry-count{font-size:var(--font-size-sm);color:var(--gray-500)}.entries-actions{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.entries-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.entry-card{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);transition:all .2s}.entry-card:hover{box-shadow:var(--shadow-md);border-color:var(--gray-300)}.entry-main{display:flex;gap:var(--spacing-lg);flex:1}.entry-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;padding:var(--spacing-sm);background-color:var(--primary-color);color:#fff;border-radius:var(--radius-md)}.date-day{font-size:var(--font-size-2xl);font-weight:700;line-height:1}.date-month{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.entry-content{flex:1}.entry-title{font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.entry-category{display:inline-block;padding:.125rem .5rem;background-color:var(--primary-light);color:var(--primary-color);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;margin-bottom:var(--spacing-xs)}.entry-meta{display:flex;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--gray-500)}.entry-hours{font-weight:500}.entry-actions{display:flex;gap:var(--spacing-sm)}.empty-state{text-align:center;padding:var(--spacing-2xl)}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-lg)}.empty-state h3{margin-bottom:var(--spacing-sm);color:var(--gray-700)}.empty-state p{color:var(--gray-500);margin-bottom:var(--spacing-xl)}.modal,.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-xl);animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s}.modal-content.modal-small{max-width:400px}.modal-content.modal-fullscreen{max-width:95vw;max-height:95vh;width:95vw;height:95vh;display:flex;flex-direction:column}.modal-content.modal-fullscreen .modal-header{flex-shrink:0}.modal-content.modal-fullscreen .modal-body{flex:1;overflow-y:auto;min-height:0}.modal-content.modal-fullscreen .modal-footer{flex-shrink:0}.modal-content.modal-fullscreen .import-preview{margin-top:var(--spacing-lg)}.modal-content.modal-fullscreen .preview-table-container{max-height:500px;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--gray-200);flex-shrink:0}.modal-header h2,.modal-header h3{margin:0;font-size:var(--font-size-xl);color:var(--gray-900)}.modal-close{background:none;border:none;font-size:var(--font-size-2xl);color:var(--gray-400);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s}.modal-close:hover{background-color:var(--gray-100);color:var(--gray-600)}.modal-body,.modal-form{padding:var(--spacing-xl);overflow-y:auto;flex:1;min-height:0}.modal-footer,.modal-actions{display:flex;gap:var(--spacing-md);justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-top:1px solid var(--gray-200);flex-shrink:0}.export-hint{font-size:var(--font-size-sm);color:var(--gray-500);margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-sm);border-left:3px solid var(--primary)}.description-indicator{font-size:1em;margin-left:4px;cursor:help;opacity:.6}.description-indicator:hover{opacity:1}.modal-actions-buttons{display:flex;gap:var(--spacing-md)}.recommend-checkbox-inline{display:flex;align-items:center}.checkbox-label-inline{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--gray-600);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label-inline:hover{color:var(--gray-900)}.checkbox-label-inline input[type=checkbox]{width:16px;height:16px;cursor:pointer;margin:0}.checkbox-label-inline span{white-space:nowrap}.notification,.toast{position:fixed;top:20px;right:20px;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);color:#fff;font-weight:500;transform:translate(400px);transition:transform .3s ease;z-index:99999;box-shadow:var(--shadow-lg);max-width:400px}.notification.show,.toast.show{transform:translate(0)}.toast{background-color:#fff;color:var(--gray-900);top:auto;bottom:var(--spacing-xl);animation:slideInRight .3s;transform:translate(0)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-success{background:var(--success-color)}.notification-error,.toast-error{background:var(--error-color);color:#fff}.notification-warning{background:var(--warning-color)}.notification-info{background:var(--primary-color)}.loading{text-align:center;padding:var(--spacing-2xl);color:var(--gray-500);font-size:var(--font-size-sm)}.empty-message{text-align:center;color:var(--gray-500);font-style:italic;padding:var(--spacing-xl)}.error{text-align:center;padding:var(--spacing-xl);color:var(--error-color);background:#fef2f2;border-radius:var(--radius-md);border:1px solid #fecaca}.warning-text{color:var(--error-color);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.filter-selectors{display:flex;align-items:center;gap:var(--spacing-md)}.year-selector{width:120px}.year-selector,.date-selector{display:flex;align-items:center;gap:var(--spacing-sm)}.year-selector .form-select,.date-selector .form-input{width:auto;min-width:120px;padding:.625rem 1rem;font-size:var(--font-size-base)}.date-selector input[type=date]{width:150px}.tabs,.reports-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);border-bottom:2px solid var(--gray-200)}.tab-btn{padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;border-bottom:3px solid transparent;font-size:var(--font-size-base);font-weight:500;color:var(--gray-600);cursor:pointer;transition:all .2s;margin-bottom:-2px;display:flex;align-items:center;gap:var(--spacing-xs)}.tab-btn:hover{color:var(--primary-color);background:var(--gray-50)}.tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-pane,.hr-tab-pane{display:none;min-height:200px}.tab-pane.active,.hr-tab-pane.active{display:block;animation:fadeIn .3s}.page-nav{background:#fff;border-bottom:1px solid var(--gray-200);width:100%;max-width:100vw;overflow:hidden;position:relative}.page-nav:before,.page-nav:after{content:"";position:absolute;top:0;bottom:1px;width:40px;pointer-events:none;z-index:10;opacity:0;transition:opacity .2s ease}.page-nav:before{left:0;background:linear-gradient(to right,white 20%,transparent)}.page-nav:after{right:0;background:linear-gradient(to left,white 20%,transparent)}.page-nav.scroll-left:before{opacity:1}.page-nav.scroll-right:after{opacity:1}.nav-scroll-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:20;background:#fff;border:1px solid var(--gray-200);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;font-weight:600;color:var(--gray-600);box-shadow:0 2px 4px #0000001a;opacity:0;pointer-events:none;transition:opacity .2s,background-color .2s,color .2s}.nav-scroll-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.nav-scroll-left{left:8px}.nav-scroll-right{right:8px}.page-nav.scroll-left .nav-scroll-left,.page-nav.scroll-right .nav-scroll-right{opacity:1;pointer-events:auto}.nav-content{max-width:1400px;margin:0 auto;padding:0 var(--spacing-xl);display:flex;gap:var(--spacing-sm);width:100%;overflow-x:auto;-ms-overflow-style:none}.nav-content::-webkit-scrollbar{display:none}.nav-link{padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;color:var(--gray-600);font-weight:500;border-bottom:2px solid transparent;transition:all .2s;display:flex;align-items:center;gap:var(--spacing-xs)}.nav-link:hover{color:var(--primary-color);background:var(--gray-50)}.nav-link.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.report-actions{display:flex;margin-bottom:var(--spacing-md)}.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.summary-card{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.summary-card .summary-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-xs);line-height:1.2}.summary-card .summary-label{font-size:var(--font-size-sm);color:var(--gray-600);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.summary-card.warning{background:linear-gradient(135deg,#fff,#fef3c7);border:1px solid var(--warning-color)}.summary-card.leaderboard-visibility-card{text-align:left;display:flex;flex-direction:column;justify-content:center}.summary-card.leaderboard-visibility-card .summary-label{margin-bottom:var(--spacing-md);font-weight:600;font-size:var(--font-size-base)}.summary-card.leaderboard-visibility-card .toggle-switch{margin:0 0 var(--spacing-sm) 0}.summary-card.leaderboard-visibility-card p{font-size:var(--font-size-xs);color:var(--gray-500);margin:var(--spacing-sm) 0 0 0;line-height:1.4}.employee-cell{display:flex;flex-direction:column;gap:var(--spacing-xs)}.employee-cell strong{color:var(--gray-900)}.employee-cell small{color:var(--gray-500);font-size:var(--font-size-xs)}.progress-cell{display:flex;align-items:center;gap:var(--spacing-md)}.mini-progress-bar{flex:1;height:8px;background:var(--gray-200);border-radius:999px;overflow:hidden;min-width:100px}.mini-progress-fill{height:100%;border-radius:999px;transition:width .3s ease}.mini-progress-fill.low{background:var(--error-color)}.mini-progress-fill.medium{background:var(--warning-color)}.mini-progress-fill.high{background:var(--primary-color)}.mini-progress-fill.complete{background:var(--success-color)}.report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}.report-section.full-width{grid-column:1 / -1}.report-section h3{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-xl);color:var(--gray-900);display:flex;align-items:center;gap:var(--spacing-sm)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-sm)}.section-header h2{margin:0;font-size:var(--font-size-xl);color:var(--gray-900)}.section-description{color:var(--gray-600);font-size:var(--font-size-sm);margin:0;flex-basis:100%}.top-performers-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.performer-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);transition:all .2s}.performer-card:hover{background:var(--primary-light);transform:translate(4px)}.performer-rank{font-size:var(--font-size-xl);font-weight:700;color:var(--primary-color);min-width:40px;text-align:center}.performer-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.performer-info strong{color:var(--gray-900);font-size:var(--font-size-base)}.performer-info small{color:var(--gray-500);font-size:var(--font-size-xs)}.performer-stats{display:flex;gap:var(--spacing-md)}.stat-item{font-weight:600;color:var(--gray-700)}.category-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.category-item{padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border-left:3px solid var(--primary-color)}.category-name{font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.category-stats{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--gray-600)}.separator{color:var(--gray-400)}.trends-chart{padding:var(--spacing-lg) 0}.chart-container{display:flex;align-items:flex-end;gap:var(--spacing-md);height:250px;padding:var(--spacing-lg);background:var(--gray-50);border-radius:var(--radius-md)}.chart-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);min-width:40px}.bar-fill{width:100%;background:linear-gradient(to top,var(--primary-color),var(--primary-hover));border-radius:var(--radius-sm) var(--radius-sm) 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:var(--spacing-xs);min-height:30px;position:relative;transition:all .3s}.bar-fill:hover{opacity:.8}.bar-value{color:#fff;font-size:var(--font-size-xs);font-weight:600}.bar-label{font-size:var(--font-size-sm);color:var(--gray-600);font-weight:500;text-align:center}.hr-tab-pane{display:none}.hr-tab-pane.active{display:block;animation:fadeIn .3s}.search-form{margin-bottom:var(--spacing-xl)}.search-inputs{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:var(--spacing-md);align-items:center}.search-results{min-height:100px}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--gray-200)}.results-count{font-weight:600;color:var(--gray-700)}.tab-content{display:block;min-height:400px}.report-controls{display:flex;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-xl)}.report-controls .form-select{flex:1;max-width:300px}.report-content{min-height:200px}.report-summary h3{font-size:var(--font-size-xl);color:var(--gray-900);margin-bottom:var(--spacing-lg)}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stat-card{background:var(--gray-50);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--gray-200);transition:all .2s}.detail-section{margin-bottom:var(--spacing-xl)}.detail-section h4{font-size:var(--font-size-lg);color:var(--gray-900);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--gray-200)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.profile-card{background:#fff;border-radius:var(--radius-md);padding:var(--spacing-lg) var(--spacing-xl);margin-bottom:var(--spacing-xl);width:100%;max-width:100%;box-sizing:border-box}.profile-card h2{margin-bottom:var(--spacing-lg);color:var(--gray-900);display:flex;align-items:center;justify-content:space-between}.profile-card h3{margin-bottom:var(--spacing-md);color:var(--gray-700);font-size:var(--font-size-lg)}.profile-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.profile-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.profile-field label{font-weight:600;color:var(--gray-700);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.025em}.profile-value{color:var(--gray-900);font-size:var(--font-size-base);padding:var(--spacing-sm) 0}.profile-value.muted{color:var(--gray-500);font-style:italic}.profile-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-200)}.profile-card form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.profile-card .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.profile-card .form-group input:disabled,.profile-card .form-group select:disabled{background-color:var(--gray-100);cursor:not-allowed;opacity:.6}.action-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.action-bar-left{display:flex;gap:var(--spacing-md);flex:1;min-width:300px}.action-bar-right{display:flex;gap:var(--spacing-sm)}.users-section{padding:0;overflow:hidden}.actions-cell{white-space:nowrap}@media(max-width:1024px){.users-table th:nth-child(2),.users-table td:nth-child(2),.users-table th:nth-child(4),.users-table td:nth-child(4){display:none}.departments-table th:nth-child(3),.departments-table td:nth-child(3){display:none}.categories-table th:nth-child(3),.categories-table td:nth-child(3){display:none}.search-inputs{grid-template-columns:1fr;gap:var(--spacing-sm)}.users-table,.departments-table,.categories-table{font-size:var(--font-size-sm)}.users-table th,.users-table td,.departments-table th,.departments-table td,.categories-table th,.categories-table td{padding:var(--spacing-sm) var(--spacing-xs)}.users-table th,.departments-table th,.categories-table th{font-size:var(--font-size-xs)}.users-table tbody tr{cursor:pointer}.users-table tbody tr:active{background:var(--gray-200)}.action-bar{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.filter-bar-3col{grid-template-columns:1fr}.filter-bar-3col .add-user-cell{order:99}.action-bar-left,.action-bar-right{width:100%}.action-bar-right{justify-content:stretch}.action-bar-right button{flex:1;width:100%}.action-button-group{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.action-button-group .btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}}@media(max-width:768px){.main-container{padding:var(--spacing-md)}.dashboard-header{position:relative}.header-content{flex-direction:column;gap:var(--spacing-xs);text-align:center;padding:var(--spacing-sm) var(--spacing-md)}.header-content h1{font-size:var(--font-size-lg);margin-bottom:0}.user-menu{gap:var(--spacing-md);font-size:var(--font-size-sm)}.page-nav{position:sticky;top:0;z-index:100;width:100%;overflow:hidden}.page-nav:before,.page-nav:after{width:24px}.nav-scroll-btn{width:28px;height:28px;font-size:18px}.nav-content{padding:0 var(--spacing-xs);gap:0;overflow-x:auto;-ms-overflow-style:none;justify-content:flex-start;max-width:100%}.nav-content::-webkit-scrollbar{display:none;width:0;height:0}.nav-link{padding:var(--spacing-sm) var(--spacing-sm);font-size:var(--font-size-xs);white-space:nowrap;flex-shrink:0;flex-direction:column;gap:2px;text-align:center;min-width:70px}.card{padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.progress-stats{grid-template-columns:1fr;gap:var(--spacing-md)}.stat-value{font-size:var(--font-size-2xl)}.form-row,.profile-info,.profile-card .form-row,.detail-grid,.summary-stats{grid-template-columns:1fr}.entries-header{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.entries-actions{justify-content:center;flex-wrap:wrap;gap:var(--spacing-sm);width:100%}.entries-actions .btn{flex:1 1 auto;min-width:0;max-width:100%}.card-footer,.profile-actions{flex-direction:column}.card-footer button,.profile-actions button{width:100%}.entry-card{flex-direction:column;align-items:stretch}.entry-actions{justify-content:flex-end;padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.search-inputs{grid-template-columns:1fr}.report-table-container,.results-table-container,.table-container{overflow-x:auto}.results-table{font-size:var(--font-size-xs);min-width:100%}.results-table th,.results-table td{padding:var(--spacing-sm);white-space:nowrap}.page-header{flex-direction:column;gap:var(--spacing-md);align-items:flex-start}.page-title{text-align:left}.filter-selectors{gap:var(--spacing-sm)}.year-selector{width:auto}.date-selector label{white-space:nowrap}.tabs{overflow-x:auto}.tab-button{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);white-space:nowrap}.summary-stats{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.stat-card{padding:var(--spacing-md)}.report-summary{grid-template-columns:1fr}.summary-card{padding:var(--spacing-md)}.summary-card.leaderboard-visibility-card{padding:var(--spacing-lg)}.summary-card.leaderboard-visibility-card .toggle-label,.stat-card h3{font-size:var(--font-size-sm)}.stat-card .stat-value{font-size:var(--font-size-xl)}.chart-container{height:200px;padding:var(--spacing-md)}}@media(max-width:480px){.main-container{padding:var(--spacing-sm);max-width:100%}.header-content h1{font-size:var(--font-size-base)}.page-title h1{font-size:var(--font-size-lg)}.user-menu{flex-direction:row;gap:var(--spacing-sm);font-size:var(--font-size-xs)}.nav-scroll-btn{display:none}.nav-link{padding:var(--spacing-xs) var(--spacing-xs);font-size:.65rem;min-width:50px}.stat-value{font-size:var(--font-size-xl)}.stat-label{font-size:var(--font-size-xs)}.summary-stats{grid-template-columns:1fr}.tabs{gap:var(--spacing-xs)}.tab-button{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.results-table{font-size:.7rem}.results-table th,.results-table td{padding:var(--spacing-xs) var(--spacing-sm)}.card,.entries-section{padding:var(--spacing-sm)}.entries-header{padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-md)}.entries-title{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.entries-title h2{font-size:var(--font-size-lg)}.entries-actions{flex-direction:column;width:100%}.entries-actions .btn{width:100%;justify-content:center}.entry-card{padding:var(--spacing-sm)}.entry-main{flex-direction:column;gap:var(--spacing-sm)}.entry-date{min-width:auto;flex-direction:row;gap:var(--spacing-sm)}.entry-date .day{font-size:var(--font-size-lg)}.progress-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}}@media(max-width:1024px){.report-grid{grid-template-columns:1fr}}.table-info{display:flex;justify-content:flex-end;padding:var(--spacing-md) var(--spacing-md);color:var(--gray-600);font-size:var(--font-size-sm)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg) 0;margin-top:var(--spacing-md)}.pagination-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);background:#fff;color:var(--gray-700);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;transition:all .2s;min-width:40px}.pagination-btn:hover:not(:disabled){background:var(--gray-50);border-color:var(--primary-color);color:var(--primary-color)}.pagination-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--gray-100)}.pagination-ellipsis{padding:0 var(--spacing-sm);color:var(--gray-400)}.notification-card{display:none}.notification-card .form-section{margin-bottom:var(--spacing-xl)}.notification-card .form-section h3{font-size:var(--font-size-lg);color:var(--gray-900);margin-bottom:var(--spacing-sm)}.notification-card .form-section>.form-help{color:var(--gray-600);margin-bottom:var(--spacing-md);display:block}.checkbox-group{margin-bottom:var(--spacing-md)}.checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-md);cursor:pointer;padding:var(--spacing-md);border:1px solid var(--gray-200);border-radius:var(--radius-md);transition:all .2s}.checkbox-label:hover{background:var(--gray-50);border-color:var(--primary-color)}.checkbox-label input[type=checkbox]{margin-top:2px;width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.checkbox-label span{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.checkbox-label strong{color:var(--gray-900);font-size:var(--font-size-base)}.checkbox-label small{color:var(--gray-600);font-size:var(--font-size-sm);font-weight:400}.recommended-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:#fff;border-radius:var(--radius-lg)}.filter-group{flex:1;min-width:200px}.filter-group label{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:500;color:var(--gray-700)}.filter-search{flex:2}.filter-checkboxes{display:flex;flex-direction:column;gap:var(--spacing-sm);justify-content:center}.filter-checkboxes .checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;color:var(--gray-700);margin:0;padding:var(--spacing-xs) 0;border:none;transition:color .2s}.filter-checkboxes .checkbox-label:hover{color:var(--primary-color);background:transparent;border-color:transparent}.filter-checkboxes .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin:0;accent-color:var(--primary-color)}.recommended-count{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background:var(--gray-50);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;color:var(--gray-700)}.count-range{color:var(--gray-600);font-weight:400}.recommended-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg)}.recommended-card{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.recommended-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));opacity:0;transition:opacity .3s}.recommended-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-color);transform:translateY(-4px)}.recommended-card:hover:before{opacity:1}.recommended-card .card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.card-title{font-size:1.125rem;font-weight:700;color:var(--gray-900);margin:0;line-height:1.3;letter-spacing:-.01em}.card-badge{display:inline-block;padding:.375rem .875rem;background:linear-gradient(135deg,var(--primary-light),#e0f2fe);color:var(--primary-dark);border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;flex-shrink:0;box-shadow:0 1px 3px #0000001a}.card-description{color:var(--gray-600);font-size:var(--font-size-sm);line-height:1.6;margin:0 0 var(--spacing-lg) 0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.card-meta{display:flex;flex-direction:column;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:2px solid var(--gray-100)}.meta-row{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--gray-600);transition:color .2s}.meta-row:hover{color:var(--gray-800)}.meta-row svg{flex-shrink:0;opacity:.7;color:var(--primary-color)}.meta-row strong{color:var(--gray-900);font-weight:700}@media(max-width:768px){.recommended-filters{flex-direction:column;align-items:stretch}.filter-group,.filter-search{min-width:100%}.recommended-filters>.btn{width:100%}.recommended-grid{grid-template-columns:1fr}}.card-engagement{display:flex;align-items:center;gap:var(--spacing-lg);padding-top:var(--spacing-md);margin-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.engagement-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--gray-600);font-weight:600}.engagement-item svg{color:var(--gray-400);transition:color .2s}.engagement-item:hover svg{color:var(--primary-color)}.modal-overlay.training-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--spacing-lg)}.modal-overlay.training-modal .modal-content{max-width:700px}.training-details{display:grid;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.detail-row{display:flex;align-items:baseline;gap:var(--spacing-sm);font-size:var(--font-size-base)}.detail-row.full-width{flex-direction:column;gap:var(--spacing-sm)}.detail-row strong{color:var(--gray-700);font-weight:600;min-width:150px}.detail-row span,.detail-row p{color:var(--gray-900)}.description-text{margin:0;line-height:1.4;color:var(--gray-700);white-space:normal}.description-text p{margin:0 0 .5em;white-space:pre-wrap;line-height:1.6}.description-text p:last-child{margin-bottom:0}.description-text ul,.description-text ol{margin:.3em 0;padding-left:2em;line-height:.75}.description-text li,.description-text li p{margin:0}.description-text h1,.description-text h2,.description-text h3,.description-text h4,.description-text h5,.description-text h6{margin:.75em 0 .4em;line-height:0}.description-text h1:first-child,.description-text h2:first-child,.description-text h3:first-child,.description-text h4:first-child,.description-text h5:first-child,.description-text h6:first-child{margin-top:0}.engagement-actions{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:2px solid var(--gray-100)}.btn-like{display:flex;align-items:center;gap:var(--spacing-sm);padding:.5rem 1rem;border:2px solid var(--gray-300);background:#fff;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;color:var(--gray-700);cursor:pointer;transition:all .2s}.btn-like:hover{border-color:var(--error-color);color:var(--error-color)}.btn-like.liked{border-color:var(--error-color);background:var(--error-bg);color:var(--error-color)}.btn-like svg{width:20px;height:20px}.like-count{font-weight:700}.comments-section{margin-top:var(--spacing-xl)}.comments-section h3{font-size:var(--font-size-xl);font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-lg)}.add-comment-form{background:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.add-comment-form textarea{width:100%;padding:var(--spacing-md);border:2px solid var(--gray-300);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);resize:vertical;min-height:60px;transition:border-color .2s}.add-comment-form textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.comment-form-actions{display:flex;align-items:center;justify-content:space-between;margin-top:var(--spacing-md)}.char-count{font-size:var(--font-size-sm);color:var(--gray-500);font-weight:500}.comments-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.comment{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:border-color .2s}.comment:hover{border-color:var(--gray-300)}.comment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm);flex-wrap:wrap;gap:var(--spacing-sm)}.comment-header strong{color:var(--gray-900);font-weight:600}.comment-date{font-size:var(--font-size-sm);color:var(--gray-500);margin-left:var(--spacing-sm)}.comment-actions{display:flex;gap:var(--spacing-xs);margin-left:auto}.comment-actions .btn-icon{padding:.25rem;color:var(--gray-500);display:flex;align-items:center;justify-content:center}.comment-actions .btn-icon:hover{background:var(--gray-100);color:var(--gray-900)}.btn-edit-comment:hover{color:var(--primary-color)}.btn-delete-comment:hover{color:var(--error-color)}.comment-text{color:var(--gray-700);line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-word}.comment-edited{display:block;font-size:var(--font-size-xs);color:var(--gray-500);font-style:italic;margin-top:var(--spacing-xs)}.no-comments{text-align:center;padding:var(--spacing-2xl);color:var(--gray-500)}.no-comments p{margin:0}.edit-comment-input{width:100%;padding:var(--spacing-md);border:2px solid var(--primary-color);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);resize:vertical;min-height:60px;margin-bottom:var(--spacing-sm)}.edit-comment-input:focus{outline:none;box-shadow:0 0 0 3px var(--primary-light)}.edit-comment-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}@media(max-width:768px){.modal-overlay{padding:0}.modal-content{max-height:100vh;border-radius:0}.modal-header,.modal-body{padding:var(--spacing-lg)}.detail-row strong{min-width:auto}}.import-container{padding:var(--spacing-lg)}.import-instructions{background:var(--gray-50);padding:var(--spacing-xl);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);border:1px solid var(--gray-200)}.import-instructions h3{margin-top:0;margin-bottom:var(--spacing-lg);color:var(--gray-900);font-size:1.125rem;font-weight:600;border-bottom:2px solid var(--gray-300);padding-bottom:var(--spacing-sm)}.instructions-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:start}.import-instructions ol{margin:0;padding-left:var(--spacing-xl)}.import-instructions li{margin-bottom:var(--spacing-md);line-height:1.7;color:var(--gray-700)}.template-downloads{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);background:#fff;border-radius:var(--radius-md);border:1px solid var(--gray-300);min-width:220px}.template-downloads strong{font-size:.9rem;color:var(--gray-900)}.template-links{display:flex;flex-direction:column;gap:var(--spacing-sm)}.format-example{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md)}.format-example strong{display:block;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.format-example pre{margin:0;padding:var(--spacing-md);background:#f8f9fa;border-radius:var(--radius-sm);overflow-x:auto;font-size:.85rem;line-height:1.5}.import-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--spacing-2xl);height:100%}.import-left{display:flex;flex-direction:column;min-height:0}.import-right{background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-lg);border:2px solid var(--gray-200);overflow-y:auto;max-height:calc(95vh - 200px);box-shadow:0 2px 8px #0000000f}.format-examples h3{margin-top:0;margin-bottom:var(--spacing-xl);font-size:1.125rem;color:var(--gray-900);font-weight:600;border-bottom:2px solid var(--gray-200);padding-bottom:var(--spacing-md)}.format-example{background:var(--gray-50);padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--gray-300)}.format-example:not(:first-child){margin-top:var(--spacing-sm)}.format-example strong{display:block;margin-bottom:var(--spacing-sm);color:var(--gray-900);font-size:.9rem;font-weight:600}.format-example pre{background:#fff;padding:var(--spacing-sm);border:1px solid var(--gray-300);border-radius:var(--radius-sm);overflow-x:auto;font-size:.7rem;line-height:1.6;margin:0;font-family:Courier New,Courier,monospace;color:var(--gray-800);min-height:85px;white-space:pre-wrap;word-break:break-all}.file-upload-section{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.file-name-display{color:var(--text-secondary);font-style:italic}.import-preview,.import-results{margin-top:var(--spacing-xl);padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-lg)}.import-preview h3,.import-results h3{margin-top:0;margin-bottom:var(--spacing-lg);color:var(--text-primary)}.preview-summary{padding:var(--spacing-md);background:#fff;border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);text-align:center}.preview-table-container{overflow-x:auto;margin-bottom:var(--spacing-lg)}.import-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg)}.results-summary{padding:var(--spacing-2xl);background:#fff;border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);text-align:center;box-shadow:0 2px 8px #00000014}.results-summary.success{border-top:4px solid var(--color-success)}.results-summary.error{border-top:4px solid var(--color-error)}.results-summary.partial{border-top:4px solid #f59e0b}.results-icon{width:64px;height:64px;margin:0 auto var(--spacing-lg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700}.results-summary.success .results-icon{background:#d1fae5;color:var(--color-success)}.results-summary.error .results-icon{background:#fee2e2;color:var(--color-error)}.results-summary.partial .results-icon{background:#fef3c7;color:#f59e0b}.results-title{margin:0 0 var(--spacing-md);font-size:1.5rem;font-weight:600;color:var(--text-primary)}.results-message{margin:0 0 var(--spacing-xl);color:var(--text-secondary);font-size:.95rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);max-width:600px;margin:0 auto}.stat-card.success{background:#d1fae5;border-color:var(--color-success)}.stat-card.error{background:#fee2e2;border-color:var(--color-error)}.stat-icon{font-size:1.5rem;margin-bottom:var(--spacing-sm);opacity:.7}.stat-card.success .stat-icon{color:var(--color-success)}.stat-card.error .stat-icon{color:var(--color-error)}.stats-grid .stat-value{font-size:2rem;color:var(--text-primary)}.stats-grid .stat-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.errors-section{background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);box-shadow:0 2px 8px #00000014}.errors-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.errors-header h4{margin:0;font-size:1.125rem;color:var(--color-error);font-weight:600}.error-count{background:#fee2e2;color:var(--color-error);padding:4px 12px;border-radius:var(--radius-full);font-size:.875rem;font-weight:600}.errors-table-wrapper{overflow-x:auto;max-height:400px;overflow-y:auto}.row-badge{background:var(--gray-200);padding:2px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;color:var(--gray-700)}.error-message{color:var(--color-error);font-size:.875rem;display:flex;align-items:center;gap:4px}.section-description{color:var(--text-secondary);font-size:.9rem;margin:0}.leaderboard-opt-in{margin-top:var(--spacing-xl);padding:var(--spacing-lg);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.leaderboard-opt-in h4{margin:0 0 var(--spacing-md);font-size:var(--font-size-lg);color:var(--gray-800);display:flex;align-items:center;gap:var(--spacing-sm)}.leaderboard-opt-in p{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-sm);color:var(--gray-600);line-height:1.5}.toggle-switch{display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:var(--spacing-sm)}.toggle-switch input[type=checkbox]{position:relative;width:48px;height:24px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--gray-300);border-radius:12px;outline:none;cursor:pointer;transition:all .3s ease;flex-shrink:0}.toggle-switch input[type=checkbox]:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0003}.toggle-switch input[type=checkbox]:checked{background:var(--primary-color)}.toggle-switch input[type=checkbox]:checked:before{transform:translate(24px)}.toggle-switch input[type=checkbox]:hover{opacity:.9}.toggle-switch input[type=checkbox]:focus{box-shadow:0 0 0 3px var(--primary-light)}.toggle-label{font-size:var(--font-size-base);color:var(--gray-800);font-weight:500}.assignments-table{table-layout:fixed;width:100%}.assignments-table th,.assignments-table td{text-align:left;padding:var(--spacing-md) var(--spacing-sm);vertical-align:top}.assignments-table th:nth-child(1){width:25%}.assignments-table th:nth-child(2){width:15%}.assignments-table th:nth-child(3){width:12%}.assignments-table th:nth-child(4){width:10%}.assignments-table th:nth-child(5){width:18%}.assignments-table th:nth-child(6){width:20%}.assignments-table .assignment-title{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;line-height:1.4}.assignments-table .assignment-title strong{font-weight:600}.assignments-table .assignment-meta{font-size:var(--font-size-xs);color:var(--gray-500);width:100%;margin-top:0;line-height:1.3}.assignments-table .category-badge{font-size:var(--font-size-xs);color:var(--gray-600);background:var(--gray-100);padding:2px 8px;border-radius:var(--radius-sm);white-space:nowrap}.progress-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.progress-bar-mini{width:60px;min-width:60px;height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden}.progress-bar-mini .progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.progress-text{font-size:var(--font-size-sm);color:var(--gray-600);white-space:nowrap}.status-badge{padding:4px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.status-badge.status-overdue{background:var(--error-bg);color:var(--error-text)}.status-badge.status-warning{background:var(--warning-bg);color:var(--warning-text)}.status-badge.status-active{background:var(--info-bg);color:var(--info-text);border:1px solid var(--info-border)}.archived-row{opacity:.6;background:var(--gray-50)}.archived-label{color:var(--gray-400);font-style:italic;font-size:var(--font-size-sm)}.assignments-table .actions-cell{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.assignments-table .actions-cell .btn-sm{padding:4px 10px;font-size:var(--font-size-xs);white-space:nowrap}.form-static-text{margin:0;padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-sm);color:var(--gray-700)}.form-help{color:var(--gray-500);font-size:var(--font-size-xs);margin-top:var(--spacing-xs);display:block}#assignment-modal .modal-body{min-height:400px;display:flex;flex-direction:column}#assignment-modal .tab-content{flex:1;min-height:250px;overflow-y:auto}#assignment-modal .report-summary,#assignment-modal .report-tabs{flex-shrink:0}.form-grid .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.form-grid .form-group{margin-bottom:var(--spacing-md)}.form-grid .form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--gray-700)}.form-grid .form-group input,.form-grid .form-group select,.form-grid .form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base)}.form-grid .form-group textarea{resize:vertical;min-height:80px}.form-actions{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-200)}.report-summary{margin-bottom:var(--spacing-lg)}.report-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-md)}.report-stats .stat-card{background:var(--gray-50);padding:var(--spacing-md);border-radius:var(--radius-md);text-align:center}.report-stats .stat-value{display:block;font-size:var(--font-size-2xl);font-weight:700;color:var(--primary-color)}.report-stats .stat-label{font-size:var(--font-size-sm);color:var(--gray-500)}.report-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--gray-200);padding-bottom:var(--spacing-sm)}.report-tabs .tab-btn{background:none;border:none;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--gray-500);cursor:pointer;border-radius:var(--radius-md);transition:all .2s ease}.report-tabs .tab-btn:hover{background:var(--gray-100);color:var(--gray-700)}.report-tabs .tab-btn.active{background:var(--primary-light);color:var(--primary-color);font-weight:600}.data-table.compact{font-size:var(--font-size-sm)}.data-table.compact th,.data-table.compact td{padding:var(--spacing-sm)}.empty-message{text-align:center;color:var(--gray-500);padding:var(--spacing-xl)}.section-header .checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--gray-600);cursor:pointer}.section-header .checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.pending-assignments-card{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-lg);border-left:4px solid var(--warning-color)}.pending-assignments-card.pending-assignments-empty{border-left-color:var(--success-color)}.pending-assignments-empty-message{text-align:center;padding:var(--spacing-md) 0}.pending-assignments-empty-message p{margin:0}.pending-assignments-empty-message p:first-child{font-size:var(--font-size-md);color:var(--gray-700);margin-bottom:var(--spacing-xs)}.pending-assignments-empty-message .text-muted{font-size:var(--font-size-sm);color:var(--gray-500)}.pending-assignments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.pending-assignments-header h3{margin:0;font-size:var(--font-size-lg);color:var(--gray-800)}.pending-assignments-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.pending-assignment-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);transition:all .2s ease}.pending-assignment-item:hover{background:#fff;border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.pending-assignment-info{flex:1;min-width:0}.pending-assignment-title{font-weight:600;color:var(--gray-800);margin-bottom:var(--spacing-xs)}.pending-assignment-description{font-size:var(--font-size-sm);color:var(--gray-600);margin-bottom:var(--spacing-sm);line-height:1.4}.pending-assignment-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);font-size:var(--font-size-xs)}.pending-assignment-category{background:var(--primary-light);color:var(--primary-color);padding:2px 8px;border-radius:var(--radius-sm)}.pending-assignment-hours{background:var(--gray-200);color:var(--gray-700);padding:2px 8px;border-radius:var(--radius-sm)}.pending-assignment-due{padding:2px 8px;border-radius:var(--radius-sm);font-weight:500}.pending-assignment-due.due-date-normal{background:var(--gray-200);color:var(--gray-700)}.pending-assignment-due.due-date-upcoming{background:var(--info-bg);color:var(--info-text);border:1px solid var(--info-border)}.pending-assignment-due.due-date-soon{background:var(--warning-bg);color:var(--warning-text)}.pending-assignment-due.due-date-urgent{background:var(--error-bg);color:var(--error-text);font-weight:600}.pending-assignment-due.due-date-overdue{background:var(--error-color);color:#fff;font-weight:600}.pending-assignment-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);flex-shrink:0;min-width:150px}.pending-assignment-actions .btn{width:100%;justify-content:center}.assignment-details{margin-bottom:var(--spacing-lg)}.assignment-details h3{margin:0 0 var(--spacing-sm) 0;color:var(--gray-800)}.assignment-description-full{color:var(--gray-600);line-height:1.6;margin-bottom:var(--spacing-md)}.assignment-meta-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md)}.assignment-meta-details .meta-item{display:flex;flex-direction:column;gap:2px}.assignment-meta-details .meta-label{font-size:var(--font-size-xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.assignment-meta-details .meta-value{font-size:var(--font-size-sm);color:var(--gray-800);font-weight:500}.assignment-meta-details .meta-value a{color:var(--primary-color);text-decoration:none}.assignment-meta-details .meta-value a:hover{text-decoration:underline}#complete-assignment-modal>.modal-content{max-width:550px}.badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-xl)}.badge-warning{background:var(--warning-bg);color:var(--warning-text)}.badge-success{background:var(--success-bg);color:var(--success-text)}.badge-error{background:var(--error-bg);color:var(--error-text)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}@media(max-width:768px){.pending-assignment-item{flex-direction:column;align-items:stretch}.pending-assignment-actions{flex-direction:row;justify-content:flex-end;margin-top:var(--spacing-sm)}.pending-assignments-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.assignment-meta-details,.form-row-half{grid-template-columns:1fr}.form-row-half .form-row-nested{grid-template-columns:1fr 1fr}}@media(max-width:900px){.assignments-table{display:block}.assignments-table thead{display:none}.assignments-table tbody{display:flex;flex-direction:column;gap:var(--spacing-md)}.assignments-table tr{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-md);gap:var(--spacing-sm)}.assignments-table tr.archived-row{opacity:.7;background:var(--gray-50)}.assignments-table td{display:flex;padding:0;border:none}.assignments-table td:nth-child(1){order:1;width:100%}.assignments-table .assignment-title{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.assignments-table .assignment-title strong{font-size:var(--font-size-base)}.assignments-table td:nth-child(2){order:2}.assignments-table td:nth-child(2):before{content:"Target: ";font-weight:500;color:var(--gray-500);min-width:80px}.assignments-table td:nth-child(3){order:3}.assignments-table td:nth-child(3):before{content:"Due: ";font-weight:500;color:var(--gray-500);min-width:80px}.assignments-table td:nth-child(4){order:4}.assignments-table td:nth-child(4):before{content:"Status: ";font-weight:500;color:var(--gray-500);min-width:80px}.assignments-table td:nth-child(5){order:5}.assignments-table td:nth-child(5):before{content:"Progress: ";font-weight:500;color:var(--gray-500);min-width:80px}.progress-cell{flex-wrap:wrap}.assignments-table td:nth-child(6){order:6;width:100%;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--gray-100)}.assignments-table .actions-cell{justify-content:flex-start;width:100%}.assignments-table .actions-cell .btn-sm{flex:1;text-align:center;justify-content:center}}@media(max-width:480px){.assignments-table .actions-cell{flex-direction:column}.assignments-table .actions-cell .btn-sm{width:100%}.form-row{flex-direction:column}.form-row .form-group{width:100%}}@media(max-width:1200px){.search-inputs{grid-template-columns:1fr;gap:var(--spacing-sm)}.search-inputs input,.search-inputs select,.search-inputs .btn{width:100%}.filter-selectors{gap:var(--spacing-sm)}.report-summary{flex-direction:column;gap:var(--spacing-sm)}.summary-card{width:100%}.results-table{display:block}.results-table thead{display:none}.results-table tbody{display:flex;flex-direction:column;gap:var(--spacing-md)}.results-table tbody tr{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-md);gap:var(--spacing-xs)}.results-table tbody tr:hover{background:var(--white)}.results-table td{display:flex;align-items:center;padding:var(--spacing-xs) 0;border:none}.results-table td:nth-child(1){order:1;font-size:var(--font-size-base);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--gray-100);margin-bottom:var(--spacing-xs)}.results-table td:nth-child(2){order:2}.results-table td:nth-child(2):before{content:"Email: ";font-weight:500;color:var(--gray-500);min-width:100px;flex-shrink:0}.results-table td:nth-child(3){order:3}.results-table td:nth-child(3):before{content:"Department: ";font-weight:500;color:var(--gray-500);min-width:100px;flex-shrink:0}.results-table td:nth-child(4){order:4}.results-table td:nth-child(4):before{content:"Manager: ";font-weight:500;color:var(--gray-500);min-width:100px;flex-shrink:0}.results-table td:nth-child(5){order:5}.results-table td:nth-child(5):before{content:"Goal: ";font-weight:500;color:var(--gray-500);min-width:100px;flex-shrink:0}.results-table td:nth-child(6){order:6}.results-table td:nth-child(6):before{content:"Completed: ";font-weight:500;color:var(--gray-500);min-width:100px;flex-shrink:0}.results-table td:nth-child(7){order:7}.results-table td:nth-child(7):before{content:"Progress: ";font-weight:500;color:var(--gray-500);min-width:100px;flex-shrink:0}.results-table td:nth-child(8){order:8;width:100%;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--gray-100);justify-content:center}.results-table td:nth-child(8) .btn{width:100%;text-align:center}.report-table{display:block}.report-table thead{display:none}.report-table tbody{display:flex;flex-direction:column;gap:var(--spacing-md)}.report-table tbody tr{display:flex;flex-wrap:wrap;align-items:center;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-md);gap:var(--spacing-xs) var(--spacing-md)}.report-table tbody tr:hover{background:var(--white)}.report-table td{display:flex;align-items:center;padding:var(--spacing-xs) 0;border:none}.report-table td:last-child{width:100%}.report-table td .progress-cell{flex:1;min-width:0}.report-table td .mini-progress-bar{min-width:60px}.report-table td:before{font-weight:500;color:var(--gray-500);min-width:100px;flex-shrink:0}.report-controls{flex-direction:column;gap:var(--spacing-sm)}.report-controls select,.report-controls .form-select{max-width:none}.report-controls select,.report-controls .btn{width:100%}.tabs{flex-direction:column;gap:var(--spacing-xs)}.tab-btn{width:100%;text-align:center}}@media(max-width:480px){.page-header{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.page-title h1{font-size:var(--font-size-xl)}.results-header{flex-direction:column;gap:var(--spacing-sm)}.results-header .btn{width:100%}}@media(max-width:900px){.action-bar{flex-direction:column;gap:var(--spacing-md)}.filter-bar{width:100%}.filter-bar-3col{grid-template-columns:1fr}.filter-bar-3col .add-user-cell{order:99}.filter-row{flex-direction:column;gap:var(--spacing-sm)}.filter-row input,.filter-row select{width:100%}.actions-column{width:100%;align-items:stretch}.actions-column .btn{width:100%}.users-table{display:block}.users-table thead{display:none}.users-table tbody{display:flex;flex-direction:column;gap:var(--spacing-md)}.users-table tbody tr{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-md);gap:var(--spacing-xs)}.users-table tbody tr:hover{background:var(--white)}.users-table tbody tr.row-inactive{opacity:.7;background:var(--gray-50)}.users-table td{display:flex;align-items:center;padding:var(--spacing-xs) 0;border:none}.users-table td:nth-child(1){order:1;font-size:var(--font-size-base);font-weight:600;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--gray-100);margin-bottom:var(--spacing-xs)}.users-table td:nth-child(2){order:2;word-break:break-all}.users-table td:nth-child(2):before{content:"Email: ";font-weight:500;color:var(--gray-500);min-width:90px;flex-shrink:0}.users-table td:nth-child(3){order:3}.users-table td:nth-child(3):before{content:"Dept: ";font-weight:500;color:var(--gray-500);min-width:90px;flex-shrink:0}.users-table td:nth-child(4){order:4}.users-table td:nth-child(4):before{content:"Manager: ";font-weight:500;color:var(--gray-500);min-width:90px;flex-shrink:0}.users-table td:nth-child(5){order:5}.users-table td:nth-child(5):before{content:"Status: ";font-weight:500;color:var(--gray-500);min-width:90px;flex-shrink:0}.users-table td:nth-child(6){order:6}.users-table td:nth-child(6):before{content:"Role: ";font-weight:500;color:var(--gray-500);min-width:90px;flex-shrink:0}.users-table td:nth-child(7){order:7}.users-table td:nth-child(7):before{content:"Goal: ";font-weight:500;color:var(--gray-500);min-width:90px;flex-shrink:0}.users-table td:nth-child(8){order:8;width:100%;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--gray-100);justify-content:flex-end;gap:var(--spacing-sm)}.users-table .actions-cell{flex-wrap:nowrap}.users-table .btn-icon{padding:var(--spacing-sm);font-size:var(--font-size-lg)}}@media(max-width:480px){.users-table td:nth-child(8){justify-content:space-around}.users-table .btn-icon{flex:1;text-align:center}.modal-content{margin:var(--spacing-sm);max-height:calc(100vh - var(--spacing-lg));overflow-y:auto}.modal .form-row{flex-direction:column}.modal .form-group{width:100%}}.help-page{max-width:900px;margin:0 auto;padding:var(--spacing-lg) 0}.help-header{margin-bottom:var(--spacing-xl)}.help-header h2{font-size:1.6rem;margin-bottom:var(--spacing-xs)}.help-subtitle{color:var(--gray-600);font-size:.95rem}.help-section-group{margin-bottom:var(--spacing-xl)}.help-group-title{font-size:1.1rem;color:var(--gray-700);border-bottom:2px solid var(--gray-200);padding-bottom:var(--spacing-xs);margin-bottom:var(--spacing-md)}.help-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);overflow:hidden;transition:box-shadow .2s}.help-card:hover{box-shadow:var(--shadow-md)}.help-card-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.help-card-icon{font-size:1.3rem}.help-card-header h4{font-size:1.05rem;margin:0;flex:1}.help-card-link{font-size:.85rem;color:var(--primary-color);text-decoration:none;white-space:nowrap;font-weight:500}.help-card-link:hover{text-decoration:underline}.help-card-body{padding:var(--spacing-md) var(--spacing-lg)}.help-card-body p{margin:0 0 var(--spacing-sm);color:var(--gray-700)}.help-card-body ul{margin:0;padding-left:var(--spacing-lg)}.help-card-body li{margin-bottom:var(--spacing-xs);color:var(--gray-600);line-height:1.5}.help-card-body li strong{color:var(--gray-800)}.help-tip{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:#e8f5e9;border-left:3px solid #4caf50;border-radius:var(--radius-sm);font-size:.9rem;color:#2e7d32}.help-faq{display:flex;flex-direction:column;gap:var(--spacing-md)}.help-faq-item{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--gray-100)}.help-faq-item:last-child{padding-bottom:0;border-bottom:none}.help-faq-item>strong{display:block;margin-bottom:var(--spacing-xs);color:var(--gray-800);font-size:.95rem}.help-faq-item p{margin:0;color:var(--gray-600);font-size:.9rem;line-height:1.5}.help-faq-item a{color:var(--primary-color);text-decoration:none}.help-faq-item a:hover{text-decoration:underline}@media(max-width:768px){.help-card-header{flex-wrap:wrap}.help-card-link{width:100%;margin-top:var(--spacing-xs)}}
