.workdays-selector{display:flex;flex-direction:column;gap:1rem}.days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;max-width:350px}.day-button{padding:.5rem;border:2px solid var(--border-color);border-radius:6px;background:#4b4b4b;color:var(--text-color);cursor:pointer;font-weight:500;transition:all .2s;min-height:40px}.day-button:hover:not(:disabled){border-color:var(--primary-color);background:#383838}.day-button.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:var(--primary-color)}.day-button:disabled{opacity:.6;cursor:not-allowed}.preset-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.preset-btn{padding:.25rem .75rem;border:1px solid var(--border-color);border-radius:4px;background:var(--secondary-color);color:var(--text-color);cursor:pointer;font-size:.875rem;transition:all .2s}.preset-btn:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.preset-btn:disabled{opacity:.6;cursor:not-allowed}.selected-display{padding:.5rem;background:var(--card-background);border:1px solid var(--border-color);border-radius:4px;font-size:.875rem}.selected-display small{color:var(--text-color-secondary);font-weight:500}.user-edit-modal{width:100%;max-width:700px;min-width:320px}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:#1a1a1a;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #0000004d;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #404040;background:#2d2d2d;flex-wrap:wrap;gap:1rem}.modal-header h3{margin:0;color:#fff;flex:1;min-width:200px}.modal-header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.modal-close{background:none;border:none;font-size:1.5rem;color:#ccc;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0}.modal-close:hover{background:#333;color:#fff}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .2s;font-size:.875rem;white-space:nowrap}.modal-body{padding:2rem;max-height:calc(90vh - 100px);overflow-y:auto}.modal-tabs{display:flex;margin-bottom:2rem;border-bottom:1px solid #404040;flex-wrap:wrap}.modal-tabs .tab{padding:1rem 2rem;background:none;border:none;color:#ccc;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap}.modal-tabs .tab:hover{color:#fff}.modal-tabs .tab.active{color:#667eea;border-bottom-color:#667eea}.user-edit-form,.password-reset-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-weight:600;color:#fff;font-size:.875rem}.form-group input,.form-group select{padding:.75rem;border:1px solid #404040;border-radius:4px;background:#2d2d2d;color:#fff;font-size:.875rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:auto}.form-group small{display:block;margin-top:.25rem;color:#ccc;font-size:.75rem;font-style:italic}.form-group input[readonly]{background-color:#1a1a1a!important;color:#ccc!important;cursor:not-allowed!important;border:1px solid #555555}.message{padding:1rem;border-radius:4px;margin:0 1.5rem 1rem;display:flex;justify-content:space-between;align-items:center;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message.success{background:#28a745;color:#fff}.message.error{background:#dc3545;color:#fff}.message-close{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0;margin-left:1rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.message-close:hover{background:#fff3}.warning-box{background:#ffc107;color:#000;padding:1rem;border-radius:4px;margin-bottom:1rem}.warning-box p{margin:0}.twofa-admin-section{padding:20px 0}.user-2fa-status{margin-bottom:20px;padding:15px;background:var(--background-secondary);border-radius:8px;border:1px solid var(--border-color)}.status-row{display:flex;align-items:center;gap:10px}.status-row .label{font-weight:500;color:var(--text-secondary)}.status-row .status{padding:4px 12px;border-radius:20px;font-size:.9rem;font-weight:500}.status.enabled{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border)}.status.disabled{background:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-border)}.twofa-admin-actions{margin-top:20px}.info-box{padding:15px;background:var(--info-bg);border:1px solid var(--info-border);border-radius:8px;color:var(--info-color)}.info-box p{margin:5px 0}.warning-box ul,.info-box ul{margin:10px 0;padding-left:20px}.warning-box li,.info-box li{margin:5px 0}@media(max-width:768px){.modal-overlay{padding:.5rem}.user-edit-modal{max-width:100%;max-height:100vh}.modal-header{padding:1rem;flex-direction:column;align-items:stretch}.modal-header h3{text-align:center;margin-bottom:1rem;min-width:auto}.modal-header-actions{justify-content:space-between}.modal-body{padding:1rem}.form-row{grid-template-columns:1fr}.modal-tabs{margin-bottom:1rem}.modal-tabs .tab{padding:.75rem 1rem;flex:1;text-align:center}}@media(max-width:480px){.modal-header,.modal-body{padding:.75rem}.modal-header-actions{flex-direction:column;width:100%}.btn{width:100%;padding:.75rem}.modal-tabs .tab{padding:.5rem;font-size:.875rem}}.user-management{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:2rem;color:var(--text-primary)}.user-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:1px solid var(--border-primary);padding-bottom:1rem}.user-management-header h2{margin:0;color:var(--text-primary)}.search-filters{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.search-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.search-group{display:flex;flex-direction:column;gap:.5rem}.search-group label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.users-table-container{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;overflow-x:auto;overflow-y:visible;margin-bottom:2rem;max-width:100%}.users-table{width:100%;min-width:1400px;border-collapse:collapse;background:transparent;table-layout:auto}.users-table th{background:var(--bg-tertiary);color:var(--text-primary);padding:1rem;text-align:left;font-weight:600;border-bottom:1px solid var(--border-secondary)}.users-table td{padding:1rem;border-bottom:1px solid var(--border-primary);color:var(--text-primary)}.users-table tr:hover{background:var(--bg-secondary)}.user-name{font-weight:600;color:var(--text-primary)}.user-email{color:var(--text-secondary);font-size:.9rem}.role-badge{background:var(--accent-primary);color:var(--text-primary);padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.role-badge.admin{background:var(--admin-color);color:var(--bg-primary)}.role-badge.manager{background:var(--purple-color);color:var(--text-primary)}.role-badge.accounting{background:var(--info-color);color:var(--text-primary)}.role-badge.employee{background:var(--bg-tertiary);color:var(--text-primary)}.user-status{display:flex;align-items:center;gap:.5rem}.status-indicator{width:8px;height:8px;border-radius:50%}.status-indicator.active{background:var(--success-color)}.status-indicator.inactive{background:var(--danger-color)}.actions-cell{display:flex;gap:.5rem;align-items:center}.edit-modal{min-width:600px}.user-form{display:flex;flex-direction:column;gap:1rem}.form-section{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;padding:1.5rem;margin-bottom:1rem}.form-section h4{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem}.role-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:.5rem}.role-option{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid var(--border-secondary);border-radius:6px;cursor:pointer;transition:all .3s ease;background:var(--bg-secondary)}.role-option:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.role-option.selected{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-primary)}.role-option input[type=radio]{width:auto!important;margin:0}@media(max-width:768px){.user-management{padding:1rem}.user-management-header{flex-direction:column;gap:1rem;align-items:flex-start}.search-row{grid-template-columns:1fr}.users-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.users-table{min-width:1200px}.edit-modal{min-width:auto;max-width:95vw}.role-selector{grid-template-columns:1fr}}.holiday-management{padding:1.5rem;color:var(--text-color);min-height:100vh}.holiday-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.holiday-header h2{margin:0;color:var(--text-color);font-size:1.8rem;font-weight:600}.header-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.year-select{padding:.5rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;min-width:100px;background:var(--input-bg);color:var(--text-color);transition:all .3s ease}.year-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4a90e21a}.holiday-form-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px #0000001a}.holiday-form-card h3{margin-top:0;margin-bottom:1.5rem;color:var(--text-color);font-weight:600}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-color);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.form-group input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;background:var(--input-bg);color:var(--text-color);transition:all .3s ease}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4a90e21a}.form-group small{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.75rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.holidays-table-container{background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a;border:1px solid var(--border-color)}.holidays-table{width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.holidays-table::-webkit-scrollbar{height:8px}.holidays-table::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.holidays-table::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.holidays-table::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.holidays-table table{width:100%;min-width:900px;border-collapse:collapse;background:var(--card-bg)}.holidays-table th{background:var(--header-bg);padding:1rem;text-align:left;font-weight:600;color:var(--header-text);border-bottom:2px solid var(--border-color);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.holidays-table td{padding:1rem;border-bottom:1px solid var(--border-color);vertical-align:middle;color:var(--text-color)}.holidays-table tr:hover{background:var(--hover-bg)}.holidays-table tr.inactive{opacity:.5;background:var(--disabled-bg)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:var(--success-bg);color:var(--success-text)}.status-badge.inactive{background:var(--error-bg);color:var(--error-text)}.duration-badge{background:var(--info-bg);color:var(--info-text);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.recurring-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.recurring-badge.recurring{background:var(--info-bg);color:var(--info-text)}.recurring-badge.single{background:var(--warning-bg);color:var(--warning-text)}.weekdays{font-size:.875rem;color:var(--text-muted)}.actions{display:flex;gap:.5rem;align-items:center}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-state p{font-size:1.1rem;margin-bottom:1.5rem}.message{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;border:1px solid}.message.success{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}.message.error{background:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.message button{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem;margin-left:1rem;color:inherit;border-radius:4px;transition:background-color .2s}.message button:hover{background:#0000001a}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary-color);color:#fff}.btn.primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4a90e24d}.btn.secondary{background:var(--secondary-color);color:var(--text-color);border:1px solid var(--border-color)}.btn.secondary:hover:not(:disabled){background:var(--hover-bg);transform:translateY(-1px)}.btn.danger:hover:not(:disabled){background:var(--danger-hover);transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.btn.small{padding:.5rem 1rem;font-size:.75rem}.form-group input[type=checkbox]{width:auto;margin-right:.75rem;accent-color:var(--primary-color)}.checkbox-label{display:flex;align-items:center;cursor:pointer;gap:.5rem}.checkbox-label input[type=checkbox]{margin:0}.dark-mode .holiday-management{--text-color: #e2e8f0;--text-muted: #94a3b8;--bg-color: #181c23;--dashboard-bg: #181c23;--card-bg: #232a36;--input-bg: #232a36;--border-color: #2d3748;--header-bg: #232a36;--header-text: #f1f5f9;--hover-bg: #232a36;--disabled-bg: #232a36;--primary-color: #4a90e2;--primary-hover: #357abd;--secondary-color: #6b7280;--danger-color: #dc2626;--danger-hover: #b91c1c;--success-bg: #065f46;--success-text: #6ee7b7;--success-border: #047857;--error-bg: #7f1d1d;--error-text: #fca5a5;--error-border: #dc2626;--info-bg: #1e3a8a;--info-text: #93c5fd;--warning-bg: #92400e;--warning-text: #fbbf24;--scrollbar-track: #232a36;--scrollbar-thumb: #374151;--scrollbar-thumb-hover: #64748b}@media(max-width:1200px){.holidays-table table{min-width:800px}}@media(max-width:768px){.holiday-management{padding:1rem}.holiday-header{flex-direction:column;align-items:stretch}.header-controls{width:100%;justify-content:space-between}.form-row{grid-template-columns:1fr;gap:1rem}.holiday-form-card{padding:1.5rem}.holidays-table table{min-width:700px}.form-actions{flex-direction:column}.form-actions .btn{width:100%;justify-content:center}.btn{padding:1rem 1.5rem}}@media(max-width:480px){.holiday-management{padding:.75rem}.holiday-header h2{font-size:1.5rem}.header-controls{flex-direction:column;gap:.75rem}.header-controls>*{width:100%}.holidays-table table{min-width:600px}.holiday-form-card{padding:1rem}.form-group{margin-bottom:1rem}}.time-tracking{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:2rem;color:var(--text-primary)}.time-tracking h2{margin-bottom:2rem;color:#fff;display:flex;align-items:center;gap:.5rem}.status-card{background:#232323;border:1px solid #404040;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 15px #0000001a}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #404040}.status-header h3{margin:0;color:#fff}.tt-status-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;padding:.5rem 1rem;border-radius:8px;text-align:center;width:fit-content;margin:0 auto;font-size:1rem;min-width:200px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.tt-status-indicator.working{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:2px solid #059669;box-shadow:0 0 20px #10b9814d}.tt-status-indicator.not-working{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;border:2px solid #4b5563;box-shadow:0 0 20px #6b72804d}.tt-status-indicator.working:hover{transform:translateY(-2px);box-shadow:0 4px 20px #10b98166}.tt-status-indicator.not-working:hover{transform:translateY(-2px);box-shadow:0 4px 20px #6b728066}.tt-status-dot{width:12px;height:12px;border-radius:50%;background:currentColor;animation:pulse 2s infinite;flex-shrink:0;box-shadow:0 0 8px currentColor}.tt-status-indicator.working .tt-status-dot{background:#04d316;box-shadow:0 0 8px #815656}.tt-status-indicator.not-working .tt-status-dot{background:#c81a1a;box-shadow:0 0 8px #e00000;animation:none}.tt-status-text{font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.5px}.tt-status-indicator.working .tt-status-text,.tt-status-indicator.not-working .tt-status-text{color:#fff}.working-status{display:flex;flex-direction:column;gap:2rem}.timer{text-align:center;padding:2rem;background:linear-gradient(135deg,#1e3a8a,#1e40af);border-radius:12px;color:#fff}.timer-label{display:block;font-size:1rem;margin-bottom:.5rem;opacity:.9}.timer-display{font-size:3rem;font-weight:700;font-family:Courier New,monospace;letter-spacing:.1em}.timer-display.warning{color:#f59e0b!important;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.clock-out-section,.clock-in-section{display:flex;flex-direction:column;gap:1.5rem}.description-input{width:100%;padding:.75rem;border:1px solid #404040;border-radius:8px;background:#1a1a1a;color:#fff;font-size:1rem}.description-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #667eea1a}.clock-btn{padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:8px;transition:all .3s;align-self:center;min-width:200px;min-height:40px;justify-content:center}.clock-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #0003}.today-summary{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:2rem;margin-bottom:2rem}.today-summary h3{margin:0 0 1.5rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#1a1a1a;border-radius:8px;border:1px solid #404040}.stat-label{color:#ccc;font-weight:500;font-size:.9rem}.stat-value{color:#fff;font-weight:700;font-size:1.2rem}.stat-item:nth-child(3) .stat-value{color:#f59e0b}.stat-item:nth-child(2) .stat-value{color:#6b7280;font-size:1rem}.work-logs-table{overflow-x:auto;border-radius:8px;border:1px solid #404040}.work-logs-table table{width:100%;border-collapse:collapse}.work-logs-table th,.work-logs-table td{padding:1rem;text-align:left;border-bottom:1px solid #404040}.work-logs-table th{background:#1a1a1a;color:#ccc;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.work-logs-table tr:hover:not(.active-log){background:#333}.work-logs-table tr.active-log{background:linear-gradient(135deg,#1e3a8a,#1e40af);color:#fff}.work-logs-table tr.active-log td{border-bottom-color:#1e40af}.description-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.method-badges{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.method-arrow{color:#666;font-size:12px;margin:0 2px}.method-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap}.method-badge.website{background-color:#e3f2fd;color:#fff}.method-badge.nfc{background-color:#e8f5e8;color:#fff}.method-badge.manual_admin{background-color:#fff3e0;color:#fff}.message{padding:1rem;border-radius:8px;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.message.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.message.error{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.message.warning{background:linear-gradient(135deg,#92400e,#d97706);border:1px solid #f59e0b;color:#fef3c7}.duration-info{display:flex;flex-direction:column;gap:.25rem}.main-duration{font-weight:600;color:#fff}.break-info{color:#999;font-size:.75rem;line-height:1.2}.max-time-info{display:block;color:#888;font-size:.75rem;margin-top:.25rem}.restriction-message{margin-bottom:2rem}.nfc-info-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #6c757d;border-radius:12px;padding:2rem;text-align:center;margin-bottom:2rem}.nfc-info-card h3{color:#495057;margin-bottom:1rem}.nfc-info-card p{color:#6c757d;line-height:1.6;margin-bottom:1.5rem}.nfc-instructions{display:flex;flex-direction:column;gap:.75rem;max-width:400px;margin:0 auto}.instruction-item{display:flex;align-items:center;gap:1rem;padding:.5rem;background:#ffffffb3;border-radius:8px}.instruction-icon{font-size:1.2rem;min-width:1.5rem}@media(max-width:768px){.status-header{flex-direction:column;gap:1rem;align-items:stretch}.timer-display{font-size:2rem}.summary-stats{grid-template-columns:1fr}.work-logs-table{font-size:.875rem}.work-logs-table th,.work-logs-table td{padding:.5rem}.description-cell{max-width:120px}.nfc-info-card{padding:1.5rem}.instruction-item{font-size:.9rem}}.vacation-request{background:#2d2d2d;border-radius:12px;padding:2rem;margin:1rem}.vacation-header{margin-bottom:2rem}.vacation-header h2{margin:0 0 1rem;color:#fff;font-size:1.5rem}.vacation-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid #404040}.vacation-tabs .tab{background:none;border:none;padding:.75rem 1.5rem;color:#ccc;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .3s ease}.vacation-tabs .tab:hover{color:#fff;background:#ffffff0d}.vacation-tabs .tab.active{color:#667eea;border-bottom-color:#667eea}.vacation-content{min-height:400px}.vacation-request-form h3{color:#fff;margin-bottom:1.5rem}.vacation-info-box{background:linear-gradient(135deg,#1a4d3a,#2d5a3d);border:1px solid #10b981;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.vacation-info-box p{margin:.5rem 0;color:#6ee7b7}.vacation-form{max-width:600px}.calculated-days{background:linear-gradient(135deg,#3d3d3d,#2d2d2d);border:1px solid #667eea;border-radius:8px;padding:1rem;margin-bottom:1rem}.calculated-days p{margin:0;color:#667eea;font-weight:500}.calculated-days .warning{color:#f87171!important;font-weight:600}.calculated-days .holiday-info{color:#10b981!important;font-weight:500;margin:.5rem 0}.calculated-days .validation-message{margin:.5rem 0;font-weight:500}.calculated-days .validation-message.error{color:#f87171!important}.calculated-days .validation-message.info{color:#10b981!important}.working-days-info{background:linear-gradient(135deg,#3d3d3d,#2d2d2d);border:1px solid #667eea;border-radius:8px;padding:1rem;margin-bottom:1rem}.working-days-info p{margin:.5rem 0;color:#667eea;font-weight:500}.working-days-info .holiday-info{color:#10b981!important}.working-days-info .conflict-warning{color:#f87171!important}.vacation-history h3{color:#fff;margin-bottom:1.5rem}.requests-table{overflow-x:auto}.requests-table table{width:100%;border-collapse:collapse;background:#1a1a1a;border-radius:8px;overflow:hidden}.requests-table th{background:#404040;color:#fff;padding:.75rem;text-align:left;font-weight:600;font-size:.875rem}.requests-table td{padding:.75rem;border-bottom:1px solid #333;color:#ccc}.requests-table tr:hover{background:#667eea0d}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.approved{background:#d1fae5;color:#065f46}.status-badge.rejected{background:#fee2e2;color:#991b1b}.vacation-overview{display:flex;flex-direction:column;gap:2rem}.vacation-overview .vacation-summary{margin-bottom:0}.vacation-overview .vacation-history{margin-top:0}.vacation-overview .vacation-history h3{margin-top:0;padding-top:2rem;border-top:1px solid #e5e7eb}.dark-mode .vacation-overview .vacation-history h3{border-top-color:#374151}.type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:.875rem;font-weight:500;border:1px solid}.type-badge.vacation{background-color:#dbeafe;color:#1e40af;border-color:#93c5fd}.type-badge.special-leave{background-color:#f3e8ff;color:#7c3aed;border-color:#c4b5fd}.type-badge.sick{background-color:#fef3c7;color:#d97706;border-color:#fde68a}.type-badge.unknown{background-color:#f3f4f6;color:#6b7280;border-color:#d1d5db}.dark-mode .type-badge.vacation{background-color:#1e3a8a;color:#93c5fd;border-color:#1e40af}.dark-mode .type-badge.special-leave{background-color:#2d1b69;color:#c4b5fd;border-color:#7c3aed}.dark-mode .type-badge.sick{background-color:#92400e;color:#fde68a;border-color:#d97706}.dark-mode .type-badge.unknown{background-color:#374151;color:#9ca3af;border-color:#6b7280}.vacation-summary h3{color:#fff;margin-bottom:1.5rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:linear-gradient(135deg,#3d3d3d,#2d2d2d);border:1px solid #404040;border-radius:12px;padding:1.5rem;text-align:center}.summary-card h4{margin:0 0 1rem;color:#ccc;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.summary-card .big-number{font-size:2.5rem;font-weight:700;margin:0;line-height:1}.summary-card small{color:#888;font-size:.75rem}.summary-card.total .big-number{color:#667eea}.summary-card.used .big-number{color:#f59e0b}.summary-card.pending .big-number{color:#eab308}.summary-card.remaining .big-number{color:#10b981}.user-info-summary{background:#1a1a1a;border-radius:8px;padding:1.5rem}.user-info-summary h4{color:#fff;margin-bottom:1rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #333}.info-item:last-child{border-bottom:none}.info-item label{color:#ccc;font-weight:500}.info-item span{color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea4d}.sick-summary h3{color:#fff;margin-bottom:1.5rem}.summary-card.sick-total .big-number{color:#ef4444}.summary-card.sick-entries .big-number{color:#f59e0b}.sick-days-list{margin-top:2rem}.sick-days-list h4{color:#fff;margin-bottom:1rem}.no-sick-days{text-align:center;color:#888;font-style:italic;padding:2rem}.sick-days-table{overflow-x:auto}.sick-days-table table{width:100%;border-collapse:collapse;background:#1a1a1a;border-radius:8px;overflow:hidden}.sick-days-table th{background:#404040;color:#fff;padding:.75rem;text-align:left;font-weight:600;font-size:.875rem}.sick-days-table td{padding:.75rem;border-bottom:1px solid #333;color:#ccc}.sick-days-table tr:last-child td{border-bottom:none}.sick-days-table tr:hover{background:#ef44440d}.info-box.sick-info{background:linear-gradient(135deg,#3d1717,#4c1d1d);border:1px solid #ef4444;border-radius:8px;padding:1.5rem;margin-top:2rem}.info-box.sick-info h4{color:#f87171;margin-bottom:1rem}.info-box.sick-info p{color:#fca5a5;margin:.5rem 0;line-height:1.5}.admin-notes{padding:8px;border-radius:4px;font-size:.875rem;line-height:1.4}.admin-notes.rejected{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b}.admin-notes.approved{background-color:#dcfce7;border:1px solid #bbf7d0;color:#166534}.notes-label{font-weight:600;display:block;margin-bottom:4px}.notes-text{display:block;font-style:italic}.dark-mode .admin-notes.rejected{background-color:#450a0a;border-color:#7f1d1d;color:#fca5a5}.dark-mode .admin-notes.approved{background-color:#052e16;border-color:#166534;color:#86efac}.dark-mode .admin-notes.approved .notes-label{color:#86efac}.admin-notes-cell{max-width:200px;word-wrap:break-word}.rejection-reason{color:#dc2626;font-size:.875rem}.dark-mode .rejection-reason{color:#f87171}.rejected-by{display:block;margin-top:4px;font-size:.75rem;opacity:.8;font-style:normal}.date-input{position:relative}.form-group{position:relative}.date-input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.date-input::-webkit-datetime-edit-fields-wrapper{background:transparent}.date-input.blocked-date::-webkit-datetime-edit-fields-wrapper{background:#ef44441a}.form-group.has-blocked-date{position:relative}.form-group.has-blocked-date:after{content:"🚫";position:absolute;right:2.5rem;top:2rem;font-size:1rem;pointer-events:none}.form-group.has-holiday:after{content:"🎄";position:absolute;right:2.5rem;top:2rem;font-size:1rem;pointer-events:none}@media(max-width:768px){.vacation-request{margin:.5rem;padding:1rem}.form-row{flex-direction:column;gap:0}.summary-cards{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:1fr}.vacation-tabs{overflow-x:auto}.vacation-tabs .tab{white-space:nowrap}.requests-table{font-size:.8rem}.requests-table th,.requests-table td{padding:.5rem}.blocked-dates-list{flex-direction:column}.blocked-date-tag{text-align:center}.blocked-dates-info{padding:.75rem}.blocked-dates-info h4{font-size:.8rem}}.dashboard{min-height:100vh;background-color:#1a1a1a;margin-top:160px!important}@media(max-width:768px){.dashboard{margin-top:160px!important}.dashboard-header{flex-direction:row}}.dashboard-header{display:flex;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;position:fixed;width:calc(100% - 20px);height:110px;top:30px;left:10px;right:10px;z-index:1000;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000004d;border-radius:15px;padding:20px 30px}.header-left h1{margin:0;font-size:1.8rem}.user-greeting{font-size:.9rem;opacity:1}.header-right{display:flex;align-items:center;gap:1rem}.user-info{font-size:.9rem;opacity:.9}.logout-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:8px 16px;cursor:pointer;transition:all .3s ease}.logout-btn:hover{background:#ffffff4d}.dashboard-content{display:flex;min-height:calc(100vh - 230px)}.sidebar{width:280px;background:#2d2d2d;border-right:1px solid #404040;padding:1rem 0;overflow-y:auto;max-height:calc(100vh - 230px)}.menu-items{display:flex;flex-direction:column}.menu-item{display:flex;align-items:center;padding:12px 24px;border:none;background:none;cursor:pointer;transition:all .3s ease;text-align:left;border-left:3px solid transparent;color:#fff;border-radius:10px}.menu-item:hover{background-color:#404040}.menu-item.active{background-color:linear-gradient(135deg,#667eea 0%,#764ba2 100%);background-image:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:0px!important}.menu-icon{font-size:1.2rem;margin-right:12px;width:24px;text-align:center}.menu-label{font-size:.95rem;font-weight:500}.main-content{flex:1;padding:10px;overflow-y:auto;max-height:calc(100vh - 230px)}.content-section{border-radius:8px;padding:2rem}.content-section h2{margin:0 0 1.5rem;color:#fff;font-size:1.5rem}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.overview-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:8px;text-align:center}.overview-card h3{margin:0 0 1rem;font-size:1rem;opacity:.9}.big-number{font-size:2rem;font-weight:700;margin:0}.status-indicator{font-weight:600;font-size:1.2rem;display:flex;align-items:center;justify-content:center;gap:.5rem;color:#fff;padding:.5rem 1rem;border-radius:20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);text-align:center;width:fit-content;margin:0 auto}.status-indicator.working{background:#10b98133;border-color:#10b9814d;color:#fff}.status-indicator.working:before{content:"";width:12px;height:12px;background-color:#10b981;border-radius:50%;display:inline-block;animation:pulse 2s infinite;flex-shrink:0}.status-indicator.not-working{background:#6b728033;border-color:#6b72804d;color:#fff}.status-indicator.not-working:before{content:"";width:12px;height:12px;background-color:#dc3545;border-radius:50%;display:inline-block;flex-shrink:0}.overview-card .big-number{font-size:2rem;font-weight:700;margin:.5rem 0;line-height:1;color:#fff}.overview-card small{color:#cdcdcd;font-size:.8rem;line-height:1.3;display:block;margin-top:.5rem}.user-settings{background:#2d2d2d;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000004d;border:1px solid #404040}.user-settings h2{margin:0;padding:2rem 2rem 1rem;color:#fff;font-size:1.5rem}.message{margin:0 2rem 1rem;padding:12px 16px;border-radius:6px;font-size:.9rem}.message.success{background:#1e4620;color:#4ade80;border:1px solid #166534}.message.error{background:#4c1d1d;color:#f87171;border:1px solid #991b1b}.settings-tabs{display:flex;border-bottom:1px solid #404040;padding:0 2rem}.tab{background:none;border:none;padding:12px 20px;cursor:pointer;border-bottom:2px solid transparent;transition:all .3s ease;font-size:.9rem;color:#fff}.tab:hover{background-color:#404040}.tab.active{border-bottom-color:#667eea;color:#667eea}.settings-content{padding:2rem}.settings-section h3{margin:0 0 1.5rem;color:#fff}.profile-info{display:grid;gap:1rem;max-width:500px}.info-group{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#404040;border-radius:6px}.info-group label{font-weight:600;color:#b0b0b0}.info-group span{color:#fff}.role-badge{background:#667eea;color:#fff;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:600}.password-form{max-width:400px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#fff}.form-group input{width:100%;padding:10px 12px;border:2px solid #404040;border-radius:6px;font-size:1rem;transition:border-color .3s ease;background:#404040;color:#fff}.form-group input:focus{outline:none;border-color:#667eea}.form-group input::placeholder{color:#888}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn.primary{background:#667eea;color:#fff}.btn.primary:hover:not(:disabled){background:#5a6fd8}.btn.danger{background:#dc3545;color:#fff}.btn.danger:hover:not(:disabled){background:#c82333}.twofa-status{max-width:500px}.status-indicator-row{display:flex;align-items:center;margin-bottom:1rem}.status-dot{width:12px;height:12px;border-radius:50%;margin-right:8px}.status-dot.enabled{background:#28a745}.status-dot.disabled{background:#dc3545}.twofa-description{color:#b0b0b0;margin-bottom:1.5rem;line-height:1.5}.twofa-setup-initial{text-align:center;padding:2rem}.qr-code-container{text-align:center;margin:1.5rem 0;padding:1rem;background:#3d3d3d;color:#fff;border-radius:12px;display:inline-block;box-shadow:0 4px 15px #0000001a}.qr-code{max-width:200px;height:auto;border-radius:8px}.manual-entry{margin:1.5rem 0;padding:1rem;background:#404040;border-radius:8px;border:1px solid #555}.secret-code{background:#555;padding:8px 12px;border-radius:6px;font-family:Courier New,monospace;color:#fff;word-break:break-all;display:block;margin-top:8px;border:1px solid #666}.verification-input{text-align:center;font-size:1.5rem;letter-spacing:.5rem;font-family:Courier New,monospace;background:#404040;border:2px solid #555;color:#fff;padding:12px;border-radius:8px;max-width:200px;margin:0 auto}.verification-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea33;outline:none}.setup-buttons{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.warning-box{background:linear-gradient(135deg,#4c1d1d,#3d1717);border:1px solid #991b1b;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.warning-box p{margin:0;color:#f87171;font-weight:500}.btn.secondary{background:linear-gradient(135deg,#555,#444);color:#fff;border:1px solid #666}.btn.secondary:hover:not(:disabled){background:linear-gradient(135deg,#666,#555);transform:translateY(-2px);box-shadow:0 4px 15px #0003}.admin-badge{background:linear-gradient(135deg,gold,#ffed4e);color:#1a1a1a;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:.5rem;display:inline-flex;align-items:center;gap:.25rem}.admin-menu-item{border-left:3px solid transparent;position:relative}.admin-menu-item:hover{background-color:#3d2a1f;border-left-color:gold}.admin-menu-item.active{background-color:#4d3319;border-left-color:gold;color:gold}.admin-indicator{position:absolute;right:12px;font-size:.8rem;opacity:.7}.admin-overview-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid #404040}.admin-overview-section h3{color:gold;margin-bottom:1.5rem;font-size:1.3rem;display:flex;align-items:center;gap:.5rem}.user-overview-section h3{color:#667eea;margin-bottom:1.5rem;font-size:1.3rem;display:flex;align-items:center;gap:.5rem}.admin-cards .overview-card.admin-card{background:linear-gradient(135deg,#b8860b,#daa520);border:1px solid #ffd700}.admin-cards .overview-card.admin-card h4{margin:0 0 1rem;font-size:.9rem;opacity:.9;color:#1a1a1a}.admin-cards .big-number{color:#1a1a1a}.admin-cards .big-number.active{color:#065f46}.admin-cards .big-number.pending{color:#92400e}.admin-cards .big-number.secure{color:#1e3a8a}.admin-content{border:1px solid #ffd700;box-shadow:0 2px 8px #ffd7001a}.admin-content h2{color:gold;display:flex;align-items:center;gap:.5rem}.admin-reports-section{max-width:1200px}.reports-placeholder{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.report-card{background:#404040;border:1px solid #555;border-radius:8px;padding:2rem;text-align:center;transition:all .3s ease}.report-card:hover{border-color:gold;transform:translateY(-2px);box-shadow:0 4px 15px #ffd7001a}.report-card h3{margin:0 0 1rem;color:#fff;font-size:1.2rem}.report-card p{color:#b0b0b0;margin:0 0 1.5rem;line-height:1.5}.btn.secondary{background:#555;color:#fff;border:1px solid #666;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.btn.secondary:not(:disabled):hover{background:#666;transform:translateY(-2px);box-shadow:0 4px 15px #0003}.menu-items .admin-menu-item:first-of-type{margin-top:1rem;position:relative}.menu-items .admin-menu-item:first-of-type:before{content:"";position:absolute;top:-.5rem;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,#ffd700,transparent)}@media(max-width:768px){.admin-badge,.admin-indicator{display:none}.reports-placeholder{grid-template-columns:1fr;gap:1rem}.admin-overview-section{margin-bottom:2rem;padding-bottom:1rem}}.admin-content .user-management{background:transparent;border:none;border-radius:0;box-shadow:none}.admin-content .user-management h2{padding:0;margin:0 0 2rem}.admin-content .user-management-header{margin-bottom:1.5rem}.content-section.admin-content{background:linear-gradient(135deg,#2d2d2d,#1a1a1a)}@media(max-width:768px){.dashboard-content{flex-direction:column}.sidebar{width:95%}.menu-items{flex-direction:row;overflow-x:auto}.menu-item{white-space:nowrap}.overview-cards{grid-template-columns:1fr}.header-right{flex-wrap:wrap}.setup-buttons{flex-direction:column}.qr-code{max-width:150px}.verification-input{font-size:1.2rem;letter-spacing:.3rem}}.overview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.overview-header h2{margin:0;color:#fff}.refresh-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.refresh-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea4d}.refresh-btn:active{transform:translateY(0)}nav.sidebar{margin:10px;border-radius:15px;padding:20px 15px;height:fit-content}.action-card.admin{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none}.action-card.admin:hover{background:linear-gradient(135deg,#5b5fef,#8450f4);transform:translateY(-4px);box-shadow:0 8px 25px #8b5cf64d}.action-card.admin svg{color:#fff}.break-rules-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #404040}.break-rules-header h2{margin:0;color:#fff;display:flex;align-items:center;gap:.5rem}.break-rule-form-container{background:#2d2d2d;border:1px solid #404040;border-radius:8px;padding:2rem;margin-bottom:2rem}.break-rule-form h3{margin:0 0 1.5rem;color:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group label{color:#ccc;font-weight:500}.form-group input{padding:.75rem;border:1px solid #404040;border-radius:6px;background:#1a1a1a;color:#fff;font-size:1rem}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group small{color:#999;font-size:.875rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #404040}.break-rules-list h3{margin:0 0 1.5rem;color:#fff}.no-rules{text-align:center;padding:3rem;background:#2d2d2d;border:1px solid #404040;border-radius:8px;color:#ccc}.no-rules p{margin:.5rem 0}.rules-table{background:#2d2d2d;border:1px solid #404040;border-radius:8px;overflow:hidden}.rules-table table{width:100%;border-collapse:collapse}.rules-table th,.rules-table td{padding:1rem;text-align:left;border-bottom:1px solid #404040}.rules-table th{background:#1a1a1a;color:#ccc;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.rules-table tr:hover:not(.inactive){background:#333}.rules-table tr.inactive{opacity:.6;background:#2a2a2a}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:.25rem}.status-badge.active{background:#10b981;color:#fff}.status-badge.inactive{background:#6b7280;color:#fff}.btn-icon{background:none;border:1px solid #404040;padding:.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .3s}.btn-icon:hover{transform:translateY(-1px)}.btn-icon.edit:hover{background:#667eea;border-color:#667eea}.btn-icon.activate:hover{background:#10b981;border-color:#10b981}.btn-icon.deactivate:hover{background:#f59e0b;border-color:#f59e0b}.btn-icon.delete:hover{background:#ef4444;border-color:#ef4444}.info-box{background:#2d2d2d;border:1px solid #404040;border-radius:8px;padding:1.5rem;margin-top:2rem}.info-box h4{margin:0 0 1rem;color:#fff;display:flex;align-items:center;gap:.5rem}.info-box ul{margin:0;padding-left:1.5rem;color:#ccc}.info-box li{margin:.5rem 0;line-height:1.5}@media(max-width:768px){.break-rules-header{flex-direction:column;gap:1rem;align-items:stretch}.form-row{grid-template-columns:1fr;gap:1rem}.form-actions{flex-direction:column}.rules-table{font-size:.875rem}.rules-table th,.rules-table td{padding:.5rem}.actions{flex-direction:column}}.worklog-management{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:2rem;color:var(--text-primary)}.worklog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:1px solid var(--border-primary);padding-bottom:1rem}.worklog-header h2{margin:0;color:var(--text-primary)}.header-actions{display:flex;gap:1rem}.auto-clockout-section{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.auto-clockout-section h3{margin:0 0 1rem;color:var(--text-primary)}.auto-clockout-section p{color:var(--text-secondary);margin-bottom:1rem}.auto-clockout-actions{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.info-note{background:var(--info-bg);border:1px solid var(--info-border);border-radius:6px;padding:1rem}.info-note small{color:var(--info-color);display:block;line-height:1.4}.worklog-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;padding:1.5rem;text-align:center}.stat-card h4{margin:0 0 .5rem;color:var(--text-secondary);font-size:.9rem}.stat-value{font-size:1.5rem;font-weight:700;margin:0;color:var(--text-primary)}.worklog-filters{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.worklog-table-container{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;overflow-x:auto;overflow-y:visible;margin-bottom:2rem;max-width:100%}.worklog-table{width:100%;min-width:1200px;border-collapse:collapse;background:transparent;table-layout:auto}.worklog-table th{background:var(--bg-tertiary);color:var(--text-primary);padding:1rem;text-align:left;font-weight:600;border-bottom:1px solid var(--border-secondary)}.worklog-table td{padding:1rem;border-bottom:1px solid var(--border-primary);color:var(--text-primary)}.worklog-table tr:hover{background:var(--bg-secondary)}.worklog-table tr.active-log{background:var(--success-bg);border-left:4px solid var(--success-color)}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-info strong{color:var(--text-primary)}.user-info small{color:var(--text-secondary);font-size:.8rem}.description-cell{max-width:200px;word-wrap:break-word;color:var(--text-secondary)}.break-time{color:var(--warning-color);font-weight:500}.created-by{display:flex;align-items:center;gap:.25rem;color:var(--text-secondary);font-size:.8rem}.self-created{color:var(--text-tertiary);font-size:.8rem;font-style:italic}.actions{display:flex;gap:.5rem}.worklog-modal{min-width:600px}.form-info{background:var(--info-bg);border:1px solid var(--info-border);border-radius:6px;padding:1rem;margin-bottom:1rem}.form-info p{margin:.25rem 0;color:var(--info-color)}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.end-time-info{display:flex;flex-direction:column;gap:.25rem}.auto-clockout-indicator{padding:.2rem .4rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:12px;font-size:.7rem;font-weight:600;display:inline-flex;align-items:center;gap:.2rem;vertical-align:middle;box-shadow:0 2px 4px #f59e0b4d;width:fit-content}@media(max-width:768px){.worklog-management{padding:1rem}.worklog-header{flex-direction:column;gap:1rem;align-items:flex-start}.filter-row{grid-template-columns:1fr}.auto-clockout-actions{flex-direction:column}.worklog-stats{grid-template-columns:repeat(2,1fr);gap:1rem}.worklog-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.worklog-table{min-width:1000px}.worklog-modal{min-width:auto;max-width:95vw}}.timeoff-management{border-radius:12px;padding:2rem;margin:1rem}.timeoff-header{margin-bottom:2rem}.timeoff-header h2{margin:0 0 1rem;color:#fff;font-size:1.5rem}.timeoff-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid #404040;flex-wrap:wrap}.timeoff-tabs .tab{background:none;border:none;padding:.75rem 1.5rem;color:#ccc;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .3s ease;white-space:nowrap}.timeoff-tabs .tab:hover{color:#fff;background:#ffffff0d}.timeoff-tabs .tab.active{color:#667eea;border-bottom-color:#667eea}.timeoff-content{min-height:400px}.pending-requests h3{color:#fff;margin-bottom:1.5rem}.no-requests{text-align:center;color:#888;font-style:italic;padding:2rem}.requests-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.request-card{background:linear-gradient(135deg,#3d3d3d,#2d2d2d);border:1px solid #404040;border-radius:12px;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.request-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.request-user strong{display:block;color:#fff;font-size:1.1rem}.request-user small{color:#ccc;font-size:.875rem}.request-details{margin-bottom:1.5rem}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #333}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:#ccc;font-weight:500}.detail-row span:last-child{color:#fff;text-align:right}.request-actions{display:flex;gap:.75rem}.request-actions .btn{flex:1;padding:.75rem;font-size:.875rem}.create-vacation h3,.create-sick h3{color:#fff;margin-bottom:1rem}.info-text{color:#10b981;background:linear-gradient(135deg,#1a4d3a,#2d5a3d);border:1px solid #10b981;border-radius:8px;padding:1rem;margin-bottom:1.5rem;font-size:.9rem}.vacation-form,.sick-form{max-width:600px}.form-group{flex:1;margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#ccc;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;background:#404040;border:1px solid #666;border-radius:6px;color:#fff;font-size:.9rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-actions{margin-top:2rem}.all-requests h3{color:#fff;margin-bottom:1.5rem}.request-filters{margin-bottom:2rem}.filter-row{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;min-width:150px}.filter-group label{color:#ccc;font-size:.875rem;margin-bottom:.5rem;font-weight:500}.filter-group select{padding:.5rem;background:#404040;border:1px solid #666;border-radius:6px;color:#fff}.requests-table{overflow-x:auto;margin-bottom:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;background:#1a1a1a}.requests-table table{width:100%;min-width:1000px;border-collapse:collapse;background:#1a1a1a;border-radius:8px;overflow:hidden}.requests-table th{background:linear-gradient(135deg,#404040,#333);color:#fff;padding:1rem .75rem;text-align:left;font-weight:600;font-size:.875rem;white-space:nowrap;position:sticky;top:0;z-index:10}.requests-table td{padding:.875rem .75rem;border-bottom:1px solid #333;color:#ccc;vertical-align:top;white-space:nowrap}.requests-table td:last-child,.requests-table th:last-child{white-space:normal;min-width:120px}.requests-table tr:last-child td{border-bottom:none}.requests-table tr:hover{background:#667eea14}@media(max-width:1024px){.requests-table{margin:0 -1rem 2rem;border-radius:0}.requests-table table{min-width:1200px}.requests-table th,.requests-table td{padding:.75rem .5rem;font-size:.8rem}}@media(max-width:768px){.requests-table{margin:0 -1rem 2rem;box-shadow:none;border-radius:0}.requests-table table{min-width:1400px}.requests-table th,.requests-table td{padding:.625rem .375rem;font-size:.75rem}.requests-table:after{content:"← Swipe to see more →";display:block;text-align:center;color:#888;font-size:.75rem;padding:.5rem;background:#0000001a;border-top:1px solid #333}}.user-cell{min-width:140px}.user-cell strong{display:block;color:#fff;font-size:.9rem;line-height:1.2}.user-cell small{color:#888;font-size:.75rem;line-height:1.1}.table-actions{display:flex;gap:.25rem;justify-content:center;min-width:100px;flex-wrap:nowrap}@media(max-width:768px){.table-actions{flex-direction:column;gap:.125rem;min-width:80px}.table-actions .btn.small{padding:.25rem .375rem;font-size:.7rem;min-height:28px}}.admin-notes-cell{max-width:200px;word-wrap:break-word;white-space:normal}@media(max-width:768px){.admin-notes-cell{max-width:150px;font-size:.7rem}}.decision-info{display:flex;flex-direction:column;gap:2px;min-width:100px}@media(max-width:768px){.decision-info{min-width:80px}.decision-info span{font-size:.75rem}.decision-type{font-size:.65rem;padding:1px 4px}}.type-badge,.status-badge{padding:.25rem .5rem;border-radius:12px;font-size:.7rem;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:2px}@media(max-width:768px){.type-badge,.status-badge{padding:.2rem .4rem;font-size:.65rem}.type-badge{flex-direction:column;gap:1px;text-align:center;min-width:50px}}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.pagination-info{color:#ccc;font-size:.875rem}.loading{text-align:center;color:#888;padding:2rem;font-style:italic}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn.secondary{background:#404040;color:#ccc;border:1px solid #666}.btn.small{padding:.5rem .75rem;font-size:.8rem}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0003}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.message{padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.message.success{background:linear-gradient(135deg,#1d4f3c,#2d5a3d);border:1px solid #10b981;color:#6ee7b7}.message.error{background:linear-gradient(135deg,#4c1d1d,#3d1717);border:1px solid #991b1b;color:#f87171}.message-close{background:none;border:none;color:inherit;font-size:1.2rem;cursor:pointer;padding:0;margin-left:1rem}.admin-notes-cell{max-width:250px;word-wrap:break-word}.admin-notes-cell.rejected{color:#dc2626;background-color:#fef2f2;padding:4px 8px;border-radius:4px;font-size:.875rem}.admin-notes-cell.approved{color:#16a34a;background-color:#f0fdf4;padding:4px 8px;border-radius:4px;font-size:.875rem}.dark-mode .admin-notes-cell.rejected{background-color:#450a0a;color:#fca5a5}.dark-mode .admin-notes-cell.approved{background-color:#052e16;color:#86efac}.rejection-reason strong{font-weight:600}.decision-info{display:flex;flex-direction:column;gap:2px}.decision-type{font-size:.75rem;padding:2px 6px;border-radius:3px;font-weight:500}.decision-type.approved{background-color:#dcfce7;color:#166534}.decision-type.rejected{background-color:#fee2e2;color:#991b1b}.dark-mode .decision-type.approved{background-color:#052e16;color:#86efac}.dark-mode .decision-type.rejected{background-color:#450a0a;color:#fca5a5}@media(max-width:768px){.timeoff-management{margin:.5rem;padding:1rem}.timeoff-tabs{overflow-x:auto}.timeoff-tabs .tab{white-space:nowrap}.requests-grid{grid-template-columns:1fr}.form-row{flex-direction:column;gap:0}.filter-row{flex-direction:column;align-items:stretch}.filter-group{min-width:auto}.requests-table{font-size:.8rem}.requests-table th,.requests-table td{padding:.5rem}.table-actions{flex-direction:column}}.date-input.blocked-date{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a!important}.blocked-date-warning{color:#ef4444!important;font-size:.75rem;margin-top:.25rem;display:block;font-weight:500}.blocked-dates-info{background:linear-gradient(135deg,#4c1d1d,#3d1717);border:1px solid #ef4444;border-radius:8px;padding:1rem;margin-bottom:1rem}.blocked-dates-info h4{color:#f87171;margin:0 0 .75rem;font-size:.875rem}.blocked-dates-list{display:flex;flex-wrap:wrap;gap:.5rem}.blocked-date-tag{background:#7f1d1d;color:#fca5a5;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;border:1px solid #991b1b}.no-blocked-dates{color:#10b981;font-weight:500;font-size:.875rem}.admin-monthly-overview{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:2rem;color:var(--text-primary)}.overview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:1px solid var(--border-primary);padding-bottom:1rem}.overview-header h2{margin:0;color:var(--text-primary)}.admin-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.user-selector,.user-select{min-width:250px}.selected-user-info{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.user-details h3{margin:0 0 .5rem;color:var(--text-primary)}.user-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--text-secondary);font-size:.9rem}.edit-indicator{color:var(--warning-color);font-weight:600}.period-selector{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;padding:1.5rem;margin-bottom:2rem;display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.selector-group label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.nav-arrow{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-secondary);border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:700;transition:all .2s ease}.nav-arrow:hover:not(:disabled){background:var(--bg-quaternary);transform:scale(1.05)}.nav-arrow:disabled{background:var(--text-muted);cursor:not-allowed;opacity:.6}.nav-arrow:active:not(:disabled){transform:scale(.95)}.summary-section{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;padding:2rem;margin-bottom:2rem}.summary-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:1.5rem;text-align:center;transition:all .3s ease}.summary-card.total{border-color:var(--accent-primary);background:linear-gradient(135deg,#667eea1a,#764ba21a)}.summary-card.expected,.summary-card.positive{border-color:var(--success-color);background:var(--success-bg)}.summary-card.negative{border-color:var(--danger-color);background:var(--danger-bg)}.summary-card h4{margin:0 0 1rem;font-size:1rem;color:var(--text-secondary)}.summary-card .big-number{font-size:1.5rem;font-weight:700;margin:0;color:var(--text-primary)}.summary-card small{color:var(--text-tertiary);font-size:.8rem;line-height:1.3;display:block;margin-top:.5rem}.breakdown-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:1rem;text-align:center}.breakdown-card h5{margin:0 0 .5rem;font-size:.9rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:.25rem}.breakdown-card span{font-size:1.2rem;font-weight:600;color:var(--text-primary)}.calendar-section{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;padding:2rem;margin-bottom:2rem}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-primary);border-radius:8px 8px 0 0;overflow:hidden}.calendar-header-day{background:var(--bg-tertiary);color:var(--text-primary);padding:1rem;text-align:center;font-weight:600;font-size:.9rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-primary);border-radius:0 0 8px 8px;overflow:hidden}.calendar.week .calendar-grid{border-radius:8px}.calendar-day{background:var(--bg-secondary);border:1px solid var(--border-primary);min-height:120px;padding:.5rem;display:flex;flex-direction:column;transition:all .3s ease;cursor:pointer}.calendar-day:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.calendar-day.clickable:hover{box-shadow:0 4px 12px #0003;z-index:1}.calendar-day.empty-day{background:var(--bg-primary);cursor:default}.calendar-day.empty-day:hover{background:var(--bg-primary);transform:none}.calendar-day.no-data{opacity:.7}.day-number{font-weight:700;font-size:1.1rem;color:var(--text-primary)}.day-name{font-size:.8rem;color:var(--text-secondary)}.work-time{font-weight:600;color:var(--success-color);font-size:.9rem}.day-info.holiday{background:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-border)}.day-info.timeoff.vacation{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border)}.day-info.timeoff.sick{background:var(--danger-bg);color:var(--danger-color);border:1px solid var(--danger-border)}.day-info.timeoff.special_leave{background:var(--purple-bg);color:var(--purple-color);border:1px solid var(--purple-border)}.work-session small{display:block;color:var(--text-secondary)}.break-deduction{color:var(--warning-color)!important;font-weight:500;margin-left:4px;background:var(--warning-bg);padding:1px 4px;border-radius:3px;cursor:help}.session-desc{color:var(--text-tertiary)!important;font-style:italic}.calendar-day.current-day{border:2px solid var(--accent-primary);background:linear-gradient(135deg,#667eea33,#764ba233)}.calendar-day.workday{background:var(--bg-secondary)}.calendar-day.holiday-day{background:var(--warning-bg);border-color:var(--warning-color)}.calendar-day.vacation-day{background:var(--success-bg);border-color:var(--success-color)}.calendar-day.sick-day{background:var(--danger-bg);border-color:var(--danger-color)}.calendar-day.overtime-day{background:var(--warning-bg);border-color:var(--warning-color)}.vacation-summary-section{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;padding:2rem;margin-bottom:2rem}.vacation-summary-section h3{margin:0 0 1.5rem;color:var(--text-primary)}.vacation-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.summary-card.vacation-total{border-color:var(--info-color);background:var(--info-bg)}.summary-card.vacation-used{border-color:var(--warning-color);background:var(--warning-bg)}.summary-card.vacation-pending{border-color:var(--purple-color);background:var(--purple-bg)}.summary-card.vacation-remaining{border-color:var(--success-color);background:var(--success-bg)}.admin-day-modal{min-width:700px}.modal-user-info{color:var(--text-secondary);font-size:.9rem;margin-left:.5rem}.timeoff-header{display:flex;justify-content:space-between;align-items:center}.timeoff-header h4{display:flex;align-items:center;gap:.5rem;margin:0}.timeoff-details{margin-top:.5rem}.timeoff-details small{color:var(--text-secondary)}.admin-actions{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;padding:1.5rem;margin-top:1.5rem}.admin-actions h4{margin:0 0 1rem;color:var(--text-primary)}.action-buttons{display:flex;gap:1rem;flex-wrap:wrap}.vacation-form-modal,.sick-form-modal{min-width:600px;cursor:default}.vacation-form-modal .modal-body,.sick-form-modal .modal-body,.vacation-form-modal form,.sick-form-modal form{cursor:default}.vacation-form-modal input,.vacation-form-modal select,.vacation-form-modal textarea,.sick-form-modal input,.sick-form-modal select,.sick-form-modal textarea{cursor:text}.vacation-form-modal button,.sick-form-modal button{cursor:pointer}.vacation-form-modal button:disabled,.sick-form-modal button:disabled{cursor:not-allowed}.form-group,.form-group label{cursor:default}.form-group input,.form-group select,.form-group textarea{cursor:text}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{cursor:not-allowed}.checkbox-label,.checkbox-label input[type=checkbox]{cursor:pointer!important}.form-actions{cursor:default}.form-actions .btn{cursor:pointer}.form-actions .btn:disabled{cursor:not-allowed}.vacation-info-box,.conflict-warning,.calculated-days{cursor:default}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;cursor:default}.modal-content{border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d;cursor:default}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 0;border-bottom:1px solid #eee;margin-bottom:20px;cursor:default}.modal-header h3{margin:0;color:var(--color-primary);cursor:default}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.modal-close:hover{background-color:#f0f0f0;cursor:pointer}.modal-body{padding:0 20px 20px;cursor:default}.no-user-selected{text-align:center;padding:3rem;color:var(--text-secondary)}.no-user-selected h3{margin:0 0 1rem;color:var(--text-primary)}.auto-clockout-indicator{margin-left:.5rem;padding:.2rem .4rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:12px;font-size:.7rem;font-weight:600;display:inline-flex;align-items:center;gap:.2rem;vertical-align:middle;box-shadow:0 2px 4px #f59e0b4d}.auto-clockout-indicator:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 8px #f59e0b66}@media(max-width:768px){.admin-monthly-overview{padding:1rem}.overview-header{flex-direction:column;gap:1rem;align-items:flex-start}.admin-controls{flex-direction:column;width:100%}.user-selector,.user-select{min-width:auto;width:100%}.period-selector{flex-direction:column;gap:1rem}.calendar-day{min-height:80px;padding:.25rem}.admin-day-modal,.vacation-form-modal,.sick-form-modal{min-width:auto;max-width:95vw}.action-buttons{flex-direction:column}}.worklog-edit-modal{max-width:600px;width:100%}.form-info{background:var(--card-background);border:1px solid var(--border-color);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.form-info p{margin:.25rem 0;font-size:.875rem}.form-info strong{color:var(--primary-color)}.worklog-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--text-color)}.form-group input,.form-group textarea{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background:var(--input-background);color:var(--text-color)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.2)}.form-group small{color:var(--text-color-secondary);font-size:.75rem}.checkbox-label{display:flex!important;flex-direction:row!important;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;margin:0}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color)}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s}.btn.success{background:var(--success-color);color:#fff}.btn.success:hover:not(:disabled){background:var(--success-color-dark)}.btn.danger{background:var(--danger-color);color:#fff}.btn.danger:hover:not(:disabled){background:var(--danger-color-dark)}.btn.secondary{background:var(--secondary-color);color:var(--text-color)}.btn.secondary:hover:not(:disabled){background:var(--secondary-color-dark)}.message{padding:1rem;border-radius:6px;margin-bottom:1rem;position:relative;display:flex;justify-content:space-between;align-items:center}.message.success{background:var(--success-color-light, #d4edda);color:var(--success-color, #155724);border:1px solid var(--success-color)}.message.error{background:var(--danger-color-light, #f8d7da);color:var(--danger-color, #721c24);border:1px solid var(--danger-color)}.message-close{background:none;border:none;font-size:18px;cursor:pointer;color:inherit;opacity:.7}.entry-type-selector{margin-bottom:1.5rem;padding:1rem;background:var(--card-background);border:1px solid var(--border-color);border-radius:6px}.entry-type-selector h4{margin:0 0 1rem;color:var(--text-color);font-size:1rem}.type-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.type-btn{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:6px;background:var(--input-background);color:var(--text-color);cursor:pointer;font-weight:500;transition:all .2s;text-align:center;font-size:.875rem}.type-btn:hover:not(.active){border-color:var(--primary-color);background:var(--hover-color)}.type-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.info-note{margin-top:1rem;padding:.75rem;background:rgba(var(--info-color-rgb, 13, 202, 240),.1);border:1px solid var(--info-color, #0dcaf0);border-radius:4px}.info-note small{color:var(--text-color);font-size:.875rem;line-height:1.4}.worklog-form .form-group label{font-weight:500;color:var(--text-color);margin-bottom:.5rem;display:block}.worklog-form .form-group input[type=date],.worklog-form .form-group input[type=datetime-local]{width:100%}@media(max-width:768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.type-buttons{grid-template-columns:1fr 1fr}.type-btn{font-size:.8rem;padding:.6rem .8rem}}@media(max-width:480px){.type-buttons{grid-template-columns:1fr}}.monthly-overview{min-height:100vh;background-color:#1a1a1a;padding:2rem;color:#fff}.overview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #404040}.overview-header h2{margin:0;color:#fff;display:flex;align-items:center;gap:.5rem}.view-selector{display:flex;gap:.5rem}.view-btn{background:#2d2d2d;color:#fff;border:1px solid #404040;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.25rem}.view-btn:hover{background:#404040}.view-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}.period-selector{background:#2d2d2d;border:1px solid #404040;border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.selector-group{display:flex;flex-direction:column;gap:.5rem}.selector-group label{font-size:.9rem;color:#b0b0b0;font-weight:500}.selector-with-navigation{display:flex;align-items:center;gap:.5rem}.nav-arrow{background:#404040;color:#fff;border:1px solid #555;border-radius:4px;padding:.5rem;cursor:pointer;transition:all .3s ease}.nav-arrow:hover:not(:disabled){background:#555}.nav-arrow:disabled{opacity:.5;cursor:not-allowed}.selector-group select{background:#404040;color:#fff;border:1px solid #555;border-radius:6px;padding:.5rem;min-width:150px}.selector-group select:focus{outline:none;border-color:#667eea}.user-info-summary{background:#2d2d2d;border:1px solid #404040;border-radius:8px;padding:1rem;margin-bottom:2rem;color:#fff}.summary-section{background:#2d2d2d;border:1px solid #404040;border-radius:12px;padding:2rem;margin-bottom:2rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);border:1px solid #404040;border-radius:12px;padding:1.5rem;text-align:center;transition:all .3s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.summary-card.total{border-color:#667eea;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.summary-card.expected,.summary-card.positive{border-color:#10b981;background:linear-gradient(135deg,#10b9811a,#0596691a)}.summary-card.negative{border-color:#ef4444;background:linear-gradient(135deg,#ef44441a,#dc26261a)}.summary-card h4{margin:0 0 1rem;font-size:1rem;color:#b0b0b0}.summary-card .big-number{font-size:1.5rem;font-weight:700;margin:0;color:#fff}.summary-card small{color:#888;font-size:.8rem;line-height:1.3;display:block;margin-top:.5rem}.breakdown-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.breakdown-card{background:#404040;border:1px solid #555;border-radius:8px;padding:1rem;text-align:center}.breakdown-card h5{margin:0 0 .5rem;font-size:.9rem;color:#b0b0b0;display:flex;align-items:center;justify-content:center;gap:.25rem}.breakdown-card span{font-size:1.2rem;font-weight:600;color:#fff}.calendar-section{background:#2d2d2d;border:1px solid #404040;border-radius:12px;padding:2rem;margin-bottom:2rem}.calendar{width:100%}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#404040;border-radius:8px 8px 0 0;overflow:hidden}.calendar-header-day{background:#555;color:#fff;padding:1rem;text-align:center;font-weight:600;font-size:.9rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#404040;border-radius:0 0 8px 8px;overflow:hidden}.calendar.week .calendar-grid{grid-template-columns:repeat(7,1fr);border-radius:8px}.calendar-day{background:#2d2d2d;border:1px solid #404040;min-height:120px;padding:.5rem;display:flex;flex-direction:column;transition:all .3s ease;cursor:pointer}.calendar-day:hover{background:#404040;transform:translateY(-1px)}.calendar-day.clickable-view-only:hover{background:#404040;box-shadow:0 4px 12px #0003}.calendar-day.empty-day{background:#1a1a1a;cursor:default}.calendar-day.empty-day:hover{background:#1a1a1a;transform:none}.calendar-day.no-data{background:#2d2d2d;opacity:.7}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.day-number{font-weight:700;font-size:1.1rem;color:#fff}.day-name{font-size:.8rem;color:#b0b0b0}.day-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.work-time{font-weight:600;color:#10b981;font-size:.9rem}.day-info{font-size:.8rem;padding:.25rem .5rem;border-radius:4px;display:flex;align-items:center;gap:.25rem}.day-info.holiday{background:#f59e0b33;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.day-info.timeoff.vacation{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.3)}.day-info.timeoff.sick{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.day-info.timeoff.special_leave{background:#8b5cf633;color:#8b5cf6;border:1px solid rgba(139,92,246,.3)}.work-sessions{display:flex;flex-direction:column;gap:.25rem}.work-session{font-size:.7rem;line-height:1.2}.work-session small{display:block;color:#b0b0b0}.break-deduction{color:#f59e0b!important;font-weight:500}.session-desc{color:#888!important;font-style:italic}.calendar-day.current-day{border:2px solid #667eea;background:linear-gradient(135deg,#667eea33,#764ba233)}.calendar-day.workday{background:#2d2d2d}.calendar-day.weekend-day{background:#6b72801a}.calendar-day.holiday-day{background:#f59e0b1a;border-color:#f59e0b}.calendar-day.vacation-day{background:#10b9811a;border-color:#10b981}.calendar-day.sick-day{background:#ef44441a;border-color:#ef4444}.calendar-day.overtime-day{background:#f59e0b1a;border-color:#f59e0b}.calendar-legend{background:#2d2d2d;border:1px solid #404040;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.calendar-legend h4{margin:0 0 1rem;color:#fff}.legend-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#b0b0b0}.legend-color{width:20px;height:20px;border-radius:4px;border:1px solid #404040}.legend-color.current{background:linear-gradient(135deg,#667eea33,#764ba233);border-color:#667eea}.legend-color.workday{background:#2d2d2d;border-color:#404040}.legend-color.weekend{background:#6b72801a;border-color:#6b7280}.legend-color.holiday{background:#f59e0b1a;border-color:#f59e0b}.legend-color.vacation{background:#10b9811a;border-color:#10b981}.legend-color.sick{background:#ef44441a;border-color:#ef4444}.legend-color.overtime{background:#f59e0b1a;border-color:#f59e0b}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#2d2d2d;border:1px solid #404040;border-radius:12px;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #404040}.modal-header h3{margin:0;color:#fff}.modal-close{background:none;border:none;color:#b0b0b0;font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .3s ease}.modal-close:hover{background:#404040;color:#fff}.day-status-info{margin-bottom:1.5rem}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600}.status-badge.workday{background:#667eea33;color:#667eea;border:1px solid rgba(102,126,234,.3)}.status-badge.weekend{background:#6b728033;color:#6b7280;border:1px solid rgba(107,114,128,.3)}.status-badge.holiday{background:#f59e0b33;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.status-badge.vacation{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-badge.sick{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.status-badge.current{background:#667eea33;color:#667eea;border:1px solid rgba(102,126,234,.3)}.status-badge.overtime{background:#f59e0b33;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.info-section{background:#404040;border:1px solid #555;border-radius:8px;padding:1rem;margin-bottom:1rem}.info-section h4{margin:0 0 .5rem;color:#fff;display:flex;align-items:center;gap:.25rem}.info-section p{margin:0;color:#b0b0b0}.time-summary{background:#404040;border:1px solid #555;border-radius:8px;padding:1rem;margin-bottom:1rem}.time-details{display:flex;flex-direction:column;gap:.5rem}.time-row{display:flex;justify-content:space-between;align-items:center}.time-value{font-weight:600;color:#fff}.time-value.positive{color:#10b981}.time-value.negative{color:#ef4444}.work-logs-detail{background:#404040;border:1px solid #555;border-radius:8px;padding:1rem}.work-logs-list{display:flex;flex-direction:column;gap:1rem}.work-log-item{background:#555;border:1px solid #666;border-radius:8px;padding:1rem}.log-time{margin-bottom:.5rem}.log-time strong{color:#fff}.log-details{display:flex;flex-direction:column;gap:.5rem}.log-calculation{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.log-calculation span{color:#b0b0b0}.actual-time{color:#10b981!important;font-weight:600!important}.break-info{color:#f59e0b!important}.log-status{display:flex;align-items:center;gap:.5rem}.active-session{color:#10b981;font-weight:600;display:flex;align-items:center;gap:.25rem}.log-methods{display:flex;flex-direction:column;gap:.25rem}.method-badges{display:flex;gap:.5rem;flex-wrap:wrap}.method-badge{background:#666;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;display:flex;align-items:center;gap:.25rem}.manual_admin.website{background:#667eea}.method-badge.nfc{background:#10b981}.method-badge.manual_admin{background:#f59e0b}.log-description{font-style:italic;color:#888;font-size:.9rem}.no-work{text-align:center;padding:2rem;color:#b0b0b0}.loading{text-align:center;padding:2rem;color:#b0b0b0;font-size:1.1rem}.btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.25rem}.btn.secondary{background:#404040;color:#fff;border:1px solid #555}.btn.secondary:hover{background:#555;transform:translateY(-1px)}@media(max-width:768px){.monthly-overview{padding:1rem}.overview-header{flex-direction:column;gap:1rem;align-items:flex-start}.period-selector{flex-direction:column;gap:1rem}.summary-cards{grid-template-columns:1fr;gap:1rem}.breakdown-cards{grid-template-columns:repeat(2,1fr);gap:.5rem}.calendar-day{min-height:80px;padding:.25rem}.day-number{font-size:1rem}.day-name{font-size:.7rem}.work-time{font-size:.8rem}.day-info{font-size:.7rem;padding:.2rem .4rem}.work-session{font-size:.6rem}.legend-items{grid-template-columns:1fr}.modal-content{margin:1rem;max-width:calc(100% - 2rem)}}@media(max-width:480px){.calendar-grid{gap:.5px}.calendar-day{min-height:60px}.breakdown-cards{grid-template-columns:1fr}}.admin-dashboard{min-height:100vh;padding:2rem;color:#fff}.admin-dashboard .dashboard-header{position:static;width:100%;height:auto;top:auto;left:auto;right:auto;margin:0 0 2rem;padding:1.5rem;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #00000026;display:flex;justify-content:space-between;align-items:center;z-index:auto}.admin-dashboard .header-info h1{margin:0;font-size:1.8rem;display:flex;align-items:center;gap:.5rem}.admin-dashboard .header-subtitle{font-size:.9rem;opacity:.9;margin-top:.25rem}.admin-dashboard .header-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.admin-dashboard .auto-refresh{display:flex;align-items:center;gap:.5rem}.admin-dashboard .auto-refresh label{font-size:.85rem;display:flex;align-items:center;gap:.25rem;cursor:pointer}.admin-dashboard .refresh-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:8px 12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-size:.85rem}.admin-dashboard .refresh-btn:hover:not(:disabled){background:#ffffff4d}.admin-dashboard .refresh-btn:disabled{opacity:.6;cursor:not-allowed}.admin-dashboard .refresh-btn .spinning{animation:spin 1s linear infinite}.admin-dashboard .last-refresh{font-size:.75rem;opacity:.8}.admin-dashboard .dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.admin-dashboard .stat-card{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);border:1px solid #404040;border-radius:12px;padding:1.5rem;text-align:center;transition:all .3s ease}.admin-dashboard .stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.admin-dashboard .stat-card.total{border-color:#667eea;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.admin-dashboard .stat-card.active{border-color:#10b981;background:linear-gradient(135deg,#10b9811a,#0596691a)}.admin-dashboard .stat-card.vacation{border-color:#f59e0b;background:linear-gradient(135deg,#f59e0b1a,#d977061a)}.admin-dashboard .stat-card.sick{border-color:#ef4444;background:linear-gradient(135deg,#ef44441a,#dc26261a)}.admin-dashboard .stat-card.legitimately-off{border-color:#8b5cf6;background:linear-gradient(135deg,#8b5cf61a,#7c3aed1a)}.admin-dashboard .stat-card.should-work{border-color:#f97316;background:linear-gradient(135deg,#f973161a,#ea580c1a)}.admin-dashboard .stat-card.overtime{border-color:#dc2626;background:linear-gradient(135deg,#dc26261a,#b91c1c1a)}.admin-dashboard .stat-icon{width:48px;height:48px;margin:0 auto 1rem;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#ffffff1a}.admin-dashboard .stat-content h3{font-size:2rem;font-weight:700;margin:0;color:#fff}.admin-dashboard .stat-content p{font-size:.9rem;margin:.5rem 0 0;color:#b0b0b0}.admin-dashboard .dashboard-section{background:#2d2d2d;border:1px solid #404040;border-radius:12px;padding:2rem;margin-bottom:2rem}.admin-dashboard .section-header{margin-bottom:1.5rem;border-bottom:1px solid #404040;padding-bottom:1rem}.admin-dashboard .section-header h2{margin:0;font-size:1.5rem;color:#fff;display:flex;align-items:center;gap:.5rem}.admin-dashboard .section-subtitle{font-size:.9rem;color:#b0b0b0;margin-top:.5rem}.admin-dashboard .users-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.admin-dashboard .user-card{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);border:1px solid #404040;border-radius:12px;padding:1.5rem;transition:all .3s ease}.admin-dashboard .user-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.admin-dashboard .user-card.active{border-left:4px solid #10b981}.admin-dashboard .user-card.non-workday{border-left:4px solid #f59e0b}.admin-dashboard .user-card.overtime{border-left:4px solid #dc2626}.admin-dashboard .user-card.near-limit{border-left:4px solid #f59e0b}.admin-dashboard .user-card.worked-today{border-left:4px solid #6b7280}.admin-dashboard .user-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.admin-dashboard .user-info h3{margin:0;font-size:1.1rem;color:#fff}.admin-dashboard .user-card.non-workday .user-info h3{color:#fff}.admin-dashboard .user-email{font-size:.8rem;color:#b0b0b0;margin-top:.25rem}.admin-dashboard .workday-indicator{font-size:.75rem;font-weight:500;margin-top:4px}.admin-dashboard .workday-indicator.regular{color:#059669}.admin-dashboard .workday-indicator.overtime{color:#d97706;font-weight:600;background:#f59e0b1a;padding:2px 6px;border-radius:4px;border:1px solid rgba(245,158,11,.3)}.admin-dashboard .user-card.non-workday .workday-indicator.overtime{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3)}.admin-dashboard .user-status{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.admin-dashboard .status-badge{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:6px;display:flex;align-items:center;gap:.25rem}.admin-dashboard .status-badge.working{background:#10b981;color:#fff}.admin-dashboard .status-badge.overtime{background:#dc2626;color:#fff}.admin-dashboard .status-badge.near-limit{background:#f59e0b;color:#fff}.admin-dashboard .status-badge.completed{background:#6b7280;color:#fff}.admin-dashboard .status-badge.non-workday{background:#f59e0b;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:4px;margin-left:4px}.admin-dashboard .work-info{margin-bottom:1rem}.admin-dashboard .time-display{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.admin-dashboard .elapsed-time{font-size:1.2rem;font-weight:700;color:#fff}.admin-dashboard .user-card.non-workday .elapsed-time{color:#fff;font-weight:600}.admin-dashboard .max-time{font-size:.9rem;color:#b0b0b0}.admin-dashboard .start-info{font-size:.8rem;color:#b0b0b0}.admin-dashboard .method-info{margin-bottom:1rem}.admin-dashboard .method-display{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#b0b0b0}.admin-dashboard .method-icon{color:#667eea}.admin-dashboard .description{margin-bottom:1rem;font-size:.85rem;color:#b0b0b0;font-style:italic}.admin-dashboard .progress-bar{height:4px;background:#404040;border-radius:2px;overflow:hidden}.admin-dashboard .progress-fill{height:100%;background:#10b981;transition:width .3s ease}.admin-dashboard .progress-fill.near-limit{background:#f59e0b}.admin-dashboard .progress-fill.overtime{background:#dc2626}.admin-dashboard .users-grid.off-users .user-card{border-left:4px solid #6b7280}.admin-dashboard .users-grid.off-users .user-card.should-work-missing{border-left:4px solid #f97316}.admin-dashboard .users-grid.off-users .user-card.legitimate-off{border-left:4px solid #8b5cf6}.admin-dashboard .missing-indicator{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#f97316;font-weight:600}.admin-dashboard .off-reason{margin-top:1rem}.admin-dashboard .reason-display{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#fff;margin-bottom:.5rem}.admin-dashboard .reason-icon{color:#667eea}.admin-dashboard .reason-icon.missing{color:#f97316}.admin-dashboard .reason-details{font-size:.8rem;color:#b0b0b0;font-style:italic}.admin-dashboard .empty-state{text-align:center;padding:3rem;color:#b0b0b0}.admin-dashboard .empty-state svg{margin-bottom:1rem;color:#404040}.admin-dashboard .empty-state h3{margin:0 0 .5rem;color:#fff}.admin-dashboard .empty-state p{margin:0;font-size:.9rem}.admin-dashboard .loading{text-align:center;padding:2rem;color:#b0b0b0;font-size:.9rem}.admin-dashboard .access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;color:#b0b0b0}.admin-dashboard .access-denied svg{margin-bottom:1rem;color:#dc2626}.admin-dashboard .access-denied h2{margin:0 0 .5rem;color:#fff}.admin-dashboard .access-denied p{margin:0;font-size:.9rem}@media(max-width:768px){.admin-dashboard{padding:1rem}.admin-dashboard .dashboard-header{flex-direction:column;gap:1rem;text-align:center}.admin-dashboard .header-controls{justify-content:center}.admin-dashboard .dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.admin-dashboard .users-grid{grid-template-columns:1fr;gap:1rem}.admin-dashboard .user-card{padding:1rem}.admin-dashboard .user-header{flex-direction:column;align-items:flex-start;gap:.5rem}.admin-dashboard .user-status{flex-direction:row;align-items:center}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#2d2d30);padding:20px}.auth-container{background:#2d2d2d;border-radius:16px;box-shadow:0 20px 40px #0000004d;overflow:hidden;width:100%;max-width:400px;animation:slideUp .5s ease-out;border:1px solid #404040}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px 20px;text-align:center}.auth-header h1{margin:0 0 5px;font-size:2rem;font-weight:700}.auth-header p{margin:0;opacity:.9;font-size:1rem}.auth-content{padding:30px}.auth-form h2{margin:0 0 10px;color:#fff;font-size:1.5rem}.auth-form p{margin:0 0 25px;color:#b0b0b0;font-size:.9rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;color:#fff;font-weight:500;font-size:.9rem}.form-input{width:100%;padding:12px 15px;border:2px solid #404040;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box;background:#404040;color:#fff}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.form-input::placeholder{color:#888}.form-input.text-center{text-align:center}.form-hint{display:block;margin-top:5px;color:#888;font-size:.8rem}.auth-button{width:100%;padding:12px 20px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:10px}.auth-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.auth-button.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.auth-button.primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-button.secondary{background:#404040;color:#fff;border:2px solid #555}.auth-button.secondary:hover{background:#555}.error-message{background:linear-gradient(135deg,#4c1d1d,#3d1717);border:1px solid #991b1b;border-radius:8px;padding:12px 16px;margin-bottom:1.5rem;color:#f87171;font-size:.9rem;display:flex;align-items:flex-start;gap:8px;line-height:1.4}.error-message:contains("nicht aktiviert"),.error-message:contains("deaktiviert"){border-color:#f59e0b;background:linear-gradient(135deg,#4c3d1d,#3d321a);color:#fbbf24}.auth-toggle{text-align:center;margin-top:25px;padding-top:20px;border-top:1px solid #404040}.auth-toggle p{margin:0;color:#b0b0b0;font-size:.9rem}.link-button{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;text-decoration:underline;margin-left:5px}.link-button:hover{color:#764ba2}.auth-footer{background:#1a1a1a;padding:15px 20px;text-align:center;border-top:1px solid #404040}.auth-footer p{margin:0;color:#888;font-size:.8rem}.auth-form.success{text-align:center;padding:40px 20px}.auth-form.success h2{color:#4ade80;margin-bottom:20px}.auth-form.success p{color:#b0b0b0;line-height:1.5;margin-bottom:15px}.verification-input{text-align:center!important;font-size:1.8rem!important;letter-spacing:1rem!important;font-family:JetBrains Mono,Courier New,monospace!important;font-weight:600!important;max-width:280px!important;margin:0 auto!important}.back-btn{background:transparent;border:2px solid rgba(255,255,255,.1);color:#ffffffb3;padding:12px 24px;border-radius:12px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin-top:16px;width:100%;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-btn:hover:not(:disabled){border-color:#ffffff4d;color:#ffffffe6;background:#ffffff0d;transform:translateY(-1px)}.back-btn:disabled{opacity:.5;cursor:not-allowed}.verification-input:focus{box-shadow:0 0 0 3px #667eea4d,0 8px 25px #667eea26!important;border-color:#667eea!important}.verification-input::placeholder{letter-spacing:.8rem!important;color:#ffffff4d!important}.auth-form .form-header h2{display:flex;align-items:center;gap:.5rem;justify-content:center}.auth-tabs{display:flex;margin-bottom:2rem;background:#ffffff0d;border-radius:12px;padding:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.auth-tabs{margin:10px}.auth-tab{flex:1;padding:12px 24px;background:transparent;border:none;color:#ffffffb3;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.auth-tab:hover{color:#ffffffe6;background:#ffffff0d}.auth-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-row .form-group{flex:1;margin-bottom:0}.success-message{background:linear-gradient(135deg,#1d4f3c,#2d5a3d);border:1px solid #10b981;border-radius:8px;padding:12px 16px;margin-bottom:1.5rem;color:#6ee7b7;font-size:.9rem;display:flex;align-items:center;gap:8px}.success-message:before{content:"✅";font-size:1rem}@media(max-width:480px){.form-row{flex-direction:column;gap:0}.form-row .form-group{margin-bottom:1rem}.auth-tabs{margin-bottom:1.5rem}.auth-tab{padding:10px 16px;font-size:.9rem}.verification-input{font-size:1.5rem!important;letter-spacing:.8rem!important}.verification-input::placeholder{letter-spacing:.6rem!important}}.clock-display{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;text-align:center;padding:2rem;width:90%;max-width:400px;height:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;background:none}.debug-display{background:#0000004d;border:2px solid rgba(255,255,255,.3);border-radius:10px;padding:10px;margin:10px 0;font-size:14px;min-width:250px}.debug-info{margin:5px 0;color:#fff;text-align:left}.debug-info strong{color:#ffeb3b;margin-right:10px}.nfc-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1080px;height:1080px;background:#576cca;display:flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;color:#fff;overflow:hidden;border-radius:50%;box-sizing:border-box}h1.app-name img{width:420px}@media(aspect-ratio:16/9),(aspect-ratio:4/3),(aspect-ratio:16/10){.nfc-container{border-radius:0}}.app-name{font-size:3rem;font-weight:700;margin-bottom:.5rem}.company-name{font-size:1.6rem;font-weight:300;margin-bottom:2rem;opacity:.9}.instruction{margin-top:2rem;font-size:1.5rem;line-height:1.4;opacity:.9}.instruction p{margin:.5rem 0}.nfc-form{position:absolute;top:-9999px;left:-9999px;opacity:0}.nfc-input{width:1px;height:1px;border:none;background:transparent;color:transparent}.loading-indicator{position:absolute;bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:2rem;height:2rem;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite}.status-display{text-align:center;padding:2rem;width:90%;max-width:400px;height:90%;display:flex;flex-direction:column;justify-content:center;align-items:center}.status-display h1{font-size:3rem;margin-bottom:1rem}.status-display h2{font-size:2rem;margin-bottom:2rem;font-weight:300}.duration-info{margin:1rem 0 2rem;background:#ffffff1a;padding:1rem;border-radius:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.duration-main{display:flex;justify-content:space-between;align-items:center;font-size:1.2rem;margin-bottom:.5rem}.duration-detail{display:flex;justify-content:space-between;font-size:.9rem;opacity:.8}.auto-return{margin-top:2rem;font-size:.9rem;opacity:.7;font-style:italic}.nfc-container .registration-card h2{font-size:2rem;margin-bottom:1rem}.nfc-container .nfc-id{font-family:monospace;background:#0003;padding:.5rem;border-radius:.25rem;margin-bottom:2rem;font-size:.9rem}.nfc-container .registration-progress{display:flex;justify-content:center;align-items:center;margin:1.5rem 0;gap:2rem}.nfc-container .progress-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.5;transition:all .3s ease}.nfc-container .progress-step.active{opacity:1}.nfc-container .progress-step.completed{opacity:.8}.nfc-container .step-number{width:2.5rem;height:2.5rem;border-radius:50%;background:#ffffff4d;color:#333;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;transition:all .3s ease}.nfc-container .progress-step.active .step-number{background:#667eea;color:#fff}.nfc-container .progress-step.completed .step-number{background:#4caf50;color:#fff}.nfc-container .step-label{font-size:.9rem;font-weight:600;color:#fff}.nfc-container .registration-form{display:flex;flex-direction:column;gap:1.5rem}.nfc-container .form-group input{width:100%;padding:1rem;border:1px solid rgba(255,255,255,.3);border-radius:.5rem;background:#ffffffe6;color:#333;font-size:1.2rem;box-sizing:border-box;cursor:pointer;transition:all .2s}.nfc-container .form-group input:focus{outline:2px solid #667eea;background:#fff}.nfc-container .form-group input.active-input{border-color:#667eea}.nfc-container .form-group input.readonly-input{background:#ffffffb3;color:#666;cursor:not-allowed}.nfc-container .form-actions:has(.btn:nth-child(3)){display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.nfc-container .form-actions:has(.btn:nth-child(3)) .btn{min-width:auto;padding:1rem .5rem;font-size:1rem}.nfc-container .btn.primary{background:#4caf50;color:#fff}.nfc-container .btn.primary:hover:not(:disabled){background:#45a049}.nfc-container .btn.primary:disabled{background:#ccc;cursor:not-allowed}.nfc-container .btn.secondary{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.nfc-container .btn.secondary:hover{background:#ffffff4d}.nfc-container .error-message{background:#f003;border:1px solid rgba(255,0,0,.4);border-radius:.5rem;padding:1rem;margin-bottom:1rem;color:#ffcccb;display:flex;align-items:center;gap:.5rem}.nfc-container .error-message p{margin:0}.clock-in-mode{background:linear-gradient(135deg,#4caf50,#45a049)}.clock-out-mode{background:linear-gradient(135deg,#ff6b6b,#ee5a24)}.error-mode{background:linear-gradient(135deg,#ffa726,#fb8c00)}.registration-mode{background:linear-gradient(135deg,#5e72e4,#825ee4)}.circular-progress{position:relative;width:100%;height:100%;border-radius:50%;background:conic-gradient(from 0deg,#576cca 0%,#4b42b6 var(--progress, 0%),transparent var(--progress, 0%),transparent 100%);padding:0;transition:none;display:flex;align-items:center;justify-content:center}.circular-progress:before{content:"";position:absolute;inset:30px;border-radius:50%;z-index:1}@media(aspect-ratio:16/9),(aspect-ratio:4/3),(aspect-ratio:16/10){.circular-progress{border-radius:0;background:linear-gradient(135deg,#667eea,#764ba2);padding:0;border-left:8px solid #4CAF50;border-left-width:calc(var(--progress, 0%) * .08px);display:block}.circular-progress:before{display:none}.clock-display{position:relative;top:auto;left:auto;transform:none;background:linear-gradient(135deg,#667eea,#764ba2);width:90%;max-width:400px;height:90%;margin:0 auto}}.seconds-indicator{position:absolute;top:20px;right:20px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;z-index:3}.current-time{margin:2rem 0;position:relative;z-index:2}.time{font-size:4rem;font-weight:700;margin-bottom:.5rem;color:#fff}.date{font-size:1.5rem;opacity:.9;color:#fff}.nfc-container:not(.main-mode) .circular-progress{background:none;padding:0;border-radius:0}.nfc-container:not(.main-mode) .circular-progress:before{display:none}@media(max-width:480px),(max-height:480px){.clock-display{padding:1.5rem;width:85%}.app-name{font-size:2.5rem}.time{font-size:3rem}.status-display h1{font-size:2.5rem}.circular-progress{padding:0}.circular-progress:before{inset:20px}.seconds-indicator{width:35px;height:35px;font-size:.7rem;top:15px;right:15px}}.registration-content{width:100%;height:100vh;box-sizing:border-box}.nfc-container .registration-card h2{font-size:2.2rem;margin-bottom:1rem}.nfc-container .nfc-id{font-family:monospace;background:#0003;padding:.5rem;border-radius:.25rem;margin-bottom:1.5rem;font-size:.85rem}.nfc-container .registration-form{display:flex;flex-direction:column}.nfc-container .form-group{text-align:left}.nfc-container .form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:1.2rem}.nfc-container .form-group input{width:100%;padding:1.2rem;border:2px solid rgba(255,255,255,.3);border-radius:.5rem;background:#ffffffe6;color:#333;font-size:1.3rem;box-sizing:border-box;cursor:pointer;transition:all .2s}.nfc-container .form-group input.active-input{border-color:#4caf50;background:#fff}.nfc-container .form-group input:focus{outline:none}.nfc-container .form-actions{display:flex;gap:10px;flex-direction:row}.nfc-container .form-actions .btn{flex:1}.nfc-container .btn{padding:1.2rem 2rem;border:none;border-radius:.5rem;font-size:1.2rem;font-weight:500;cursor:pointer;transition:none;min-height:56px;display:flex;align-items:center;justify-content:center}.status-icon{margin-bottom:1rem;color:#fff;opacity:.9}.registration-header{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.registration-header h2{margin:0}.success-icon{margin-bottom:1rem;color:#4caf50;display:flex;justify-content:center}.instruction-icon{margin-bottom:1rem;color:#fff;opacity:.9;display:flex;justify-content:center}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container input{padding-right:50px!important}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:5px;border-radius:3px;transition:background-color .2s;z-index:10;color:#666;display:flex;align-items:center;justify-content:center}.password-toggle:hover{background:#0000001a}.password-toggle:active{background:#0003}.keyboard-key.special{background:#ff98004d;border-color:#ff980080;max-width:70px;display:flex;align-items:center;justify-content:center}.virtual-keyboard{padding:10px 10px 70px 0;margin-top:1rem;width:100%;max-width:100%;margin-left:auto;margin-right:auto;position:absolute;bottom:0}.keyboard-header{display:flex;justify-content:center;align-items:center;max-width:700px;margin:0 auto;padding-bottom:20px}.field-indicator{color:#4caf50;font-weight:500;font-size:1.2rem;display:none}.keyboard-switcher{display:flex;gap:.5rem}.kb-switch{padding:.5rem 1.2rem;border:1px solid rgba(255,255,255,.3);border-radius:.3rem;background:#ffffff1a;color:#fff;font-size:24px;cursor:pointer;transition:none;outline:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;height:50px}.kb-switch:active{transform:none}.kb-switch:focus{outline:none}.kb-switch.active{background:#4caf50;border-color:#4caf50}.keyboard-rows{display:flex;flex-direction:column;gap:.8rem}.keyboard-row{display:flex;justify-content:center;gap:.5rem}.keyboard-row.special-row{margin-top:.5rem}.keyboard-key{background:#fff3;border:1px solid rgb(255 255 255 / 80%);border-radius:.3rem;color:#fff;font-size:36px;font-weight:900;cursor:pointer;transition:none;min-height:70px;min-width:73px;display:flex;align-items:center;justify-content:center;flex:1;max-width:65px;outline:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.keyboard-key:hover{background:#ffffff26;transform:none}.keyboard-key.atgreen{background:#4caf50;border-color:#45a049}.keyboard-key.atgreen:hover{background:#45a049}.keyboard-key:active{background:#fff3;transform:none}.keyboard-key:focus{outline:none;background:#ffffff26}.keyboard-key.special{background:#ff98004d;border-color:#ff980080;max-width:70px}.keyboard-key.special:hover,.keyboard-key.special:active,.keyboard-key.special:focus{background:#ff980066;transform:none}.keyboard-key.space{background:#4caf504d;border-color:#4caf5080;flex:2;max-width:450px;font-size:22px!important}.keyboard-key.space:hover,.keyboard-key.space:active,.keyboard-key.space:focus{background:#4caf5066;transform:none}.keyboard-key.enter{background:#2196f34d;border-color:#2196f380;max-width:100px;font-size:1rem;display:flex;align-items:center;gap:.3rem;flex-direction:column;padding:.5rem}.enter-text{font-size:.9rem;line-height:1}@media(max-width:480px),(max-height:480px){.registration-content{padding:.5rem}.virtual-keyboard{padding:1rem}.keyboard-key{min-height:45px;min-width:40px;font-size:1rem}.keyboard-header{font-size:1rem}}body{margin:0;padding:0;overflow:hidden;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;scroll-behavior:smooth}input,textarea{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.nfc-container .registration-card{border-radius:1rem;padding:80px 0 0;width:100%;max-width:80%;margin:0 auto;text-align:center;flex-shrink:0}.nfc-container button.btn.secondary.abbrechen-btn{background:#ef4444!important}.nfc-container p.nfc-id{display:inline-block;padding:10px 20px;margin:0}.nfc-container button.keyboard-key.special{height:50px!important;max-height:40px!important;min-height:50px;width:100px;min-width:150px}.nfc-container .form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:1.2rem;display:none}.nfc-container .form-group input[readonly]{background-color:#f1f1f1!important;color:#2c2c2c!important;cursor:not-allowed!important;border:1px solid #555555;font-size:28px}.nfc-container .form-actions{display:flex;gap:10px;flex-direction:row;margin-top:0!important}.nfc-container .form-group{margin-bottom:0!important}.nfc-container .registration-form{gap:10px!important}.nfc-container .form-actions button{font-size:22px!important}.nfc-container .error-message{background:#ef4445;font-size:28px;color:#fff!important;text-align:center;display:inline-flex}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-LightItalic.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-MediumItalic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}*{font-family:Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#1a1a1a;color:#fff}#root{width:100%;min-height:100vh}.text-center{text-align:center}.mb-20{margin-bottom:20px}.mt-20{margin-top:20px}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:#1a1a1a;color:#fff}.loading-spinner{width:40px;height:40px;border:4px solid #404040;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#1a1a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #404040;--bg-quaternary: #555;--text-primary: #ffffff;--text-secondary: #b0b0b0;--text-tertiary: #888;--text-muted: #666;--border-primary: #404040;--border-secondary: #555;--border-tertiary: #666;--accent-primary: #667eea;--accent-secondary: #764ba2;--accent-hover: #5a6fd8;--success-color: #10b981;--success-bg: rgba(16, 185, 129, .1);--success-border: rgba(16, 185, 129, .3);--warning-color: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--warning-border: rgba(245, 158, 11, .3);--danger-color: #ef4444;--danger-bg: rgba(239, 68, 68, .1);--danger-border: rgba(239, 68, 68, .3);--info-color: #3b82f6;--info-bg: rgba(59, 130, 246, .1);--info-border: rgba(59, 130, 246, .3);--purple-color: #8b5cf6;--purple-bg: rgba(139, 92, 246, .1);--purple-border: rgba(139, 92, 246, .3);--admin-color: #ffd700;--admin-bg: rgba(255, 215, 0, .1);--admin-border: rgba(255, 215, 0, .3)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}h1,h2,h3,h4,h5,h6{color:var(--text-primary)}.btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.25rem;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:var(--text-primary);border:1px solid var(--accent-primary)}.btn.primary:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-hover) 0%,var(--accent-primary) 100%);transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn.secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-secondary)}.btn.secondary:hover:not(:disabled){background:var(--bg-quaternary);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.btn.success{background:var(--success-color);color:var(--text-primary);border:1px solid var(--success-color)}.btn.success:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px var(--success-bg)}.btn.warning{background:var(--warning-color);color:var(--text-primary);border:1px solid var(--warning-color)}.btn.warning:hover:not(:disabled){background:#d97706;transform:translateY(-1px);box-shadow:0 4px 12px var(--warning-bg)}.btn.danger{background:var(--danger-color);color:var(--text-primary);border:1px solid var(--danger-color)}.btn.danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px var(--danger-bg)}.btn-icon{background:none;border:none;padding:.5rem;border-radius:4px;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:translateY(-1px)}.btn-icon.edit{color:var(--info-color)}.btn-icon.edit:hover{background:var(--info-bg);color:var(--info-color)}.btn-icon.delete{color:var(--danger-color)}.btn-icon.delete:hover{background:var(--danger-bg);color:var(--danger-color)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-primary);border-radius:6px;font-size:1rem;transition:border-color .3s ease;background:var(--bg-secondary);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-tertiary)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.checkbox-label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto!important;margin:0}.message{padding:1rem;border-radius:6px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.message.success{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border)}.message.error{background:var(--danger-bg);color:var(--danger-color);border:1px solid var(--danger-border)}.message.warning{background:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-border)}.message.info{background:var(--info-bg);color:var(--info-color);border:1px solid var(--info-border)}.message-close{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0;margin-left:1rem;opacity:.8}.message-close:hover{opacity:1}.method-badge{padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:.25rem;text-transform:uppercase}.method-badge.website{background:var(--info-bg);color:var(--info-color);border:1px solid var(--info-border)}.method-badge.nfc{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border)}.method-badge.manual_admin{background:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-border)}.method-badges{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.method-arrow{color:var(--text-secondary);font-size:.75rem}.status-badge{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;text-transform:uppercase;text-align:center;white-space:nowrap}.status-badge.active,.status-badge.working{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border)}.status-badge.completed{background:var(--purple-bg);color:var(--purple-color);border:1px solid var(--purple-border)}.status-badge.overtime{background:var(--danger-bg);color:var(--danger-color);border:1px solid var(--danger-border)}.status-badge.near-limit,.status-badge.non-workday{background:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-border)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-primary)}.modal-header h3{margin:0;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:.25rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .3s ease}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:1.5rem}.loading{text-align:center;padding:2rem;color:var(--text-secondary);font-size:1rem}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary)}.empty-state svg{margin-bottom:1rem;color:var(--text-muted)}.empty-state h3{margin:0 0 .5rem;color:var(--text-primary)}.empty-state p{margin:0;font-size:.9rem}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;flex-wrap:wrap}.pagination-info{color:var(--text-secondary);font-size:.875rem}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}a{font-weight:500;color:var(--accent-primary);text-decoration:inherit}a:hover{color:var(--accent-hover)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bg-quaternary)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}
