:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#1a1a2e;background-color:#f5f5f5;font-size:14px}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px}#root{max-width:1400px;margin:0 auto;padding:16px}.app h1{font-size:1.5rem;margin-bottom:16px;color:#333}.report-filters{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:16px}.filters-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}.filter-group{flex:1;min-width:200px}.filter-group label{display:block;font-weight:600;margin-bottom:4px;font-size:.85rem;color:#555}.filter-group select{width:100%;padding:6px;border:1px solid #ccc;border-radius:4px;font-size:.85rem}.date-inputs{display:flex;align-items:center;gap:8px}.date-inputs input[type=date]{padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:.85rem}.presets{display:flex;gap:4px;margin-top:8px}.presets button{padding:4px 10px;border:1px solid #ccc;border-radius:4px;background:#f9f9f9;cursor:pointer;font-size:.8rem}.presets button:hover{background:#e8e8e8}.presets button.active{background:#1976d2;color:#fff;border-color:#1976d2}.tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:2px solid #e0e0e0}.tab{padding:8px 20px;border:none;background:none;cursor:pointer;font-size:.9rem;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;font-weight:500}.tab:hover{color:#333}.tab.active{color:#1976d2;border-bottom-color:#1976d2;font-weight:600}.sync-status{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.sync-status h2{font-size:1.2rem;margin-bottom:12px;color:#333}.sync-table{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:.85rem}.sync-table th{text-align:left;padding:8px 12px;background:#f5f5f5;border-bottom:2px solid #e0e0e0;font-weight:600;color:#555}.sync-table td{padding:6px 12px;border-bottom:1px solid #f0f0f0}.badge-running{display:inline-block;background:#fff3e0;color:#e65100;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;margin-left:8px}.btn-primary{background:#1976d2;color:#fff;border:none;border-radius:6px;padding:8px 24px;font-size:.9rem;cursor:pointer;font-weight:600}.btn-primary:hover{background:#1565c0}.btn-primary:disabled{background:#90caf9;cursor:not-allowed}.error-message{background:#fdecea;border:1px solid #f5c6cb;color:#c62828;padding:10px 16px;border-radius:6px;margin-bottom:16px}.no-data{text-align:center;color:#888;padding:32px}.report-table-wrapper{margin-bottom:24px}.employee-section{margin-bottom:20px}.employee-section h3{font-size:1rem;margin-bottom:8px;color:#333}.dept-badge{font-size:.75rem;font-weight:400;background:#e3f2fd;color:#1565c0;padding:2px 8px;border-radius:4px;margin-left:8px}.report-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden;font-size:.85rem}.report-table thead{background:#f5f5f5}.report-table th{padding:8px 12px;text-align:left;font-weight:600;font-size:.8rem;color:#555;border-bottom:2px solid #e0e0e0}.report-table td{padding:6px 12px;border-bottom:1px solid #f0f0f0}.report-table tbody tr:hover{background:#f8f9fa}.row-warning{background:#fff3f0!important}.row-warning:hover{background:#ffe8e0!important}.cell-warning{color:#c62828;font-weight:600}.summary-section{margin-top:24px}.summary-section h3{font-size:1.1rem;margin-bottom:8px;color:#333}.working-days-info{font-size:.85rem;color:#555;margin-bottom:12px}.summary-table td{padding:8px 12px}.summary-row-clickable{cursor:pointer;transition:background .15s}.summary-row-clickable:hover{background:#e3f2fd!important}.detail-row td{background:#fafafa;border-bottom:2px solid #e0e0e0}.employee-detail{padding:12px 16px;font-size:.85rem;line-height:1.8}.employee-detail p{margin:0}.employee-detail strong{color:#333}.export-buttons{display:flex;gap:8px;margin-bottom:16px}.btn-export{display:inline-block;padding:6px 16px;border:1px solid #ccc;border-radius:6px;background:#fff;color:#333;text-decoration:none;font-size:.85rem;cursor:pointer}.btn-export:hover{background:#f0f0f0;border-color:#999}.violation-cell{text-align:center;width:30px;padding:6px 4px!important}.violation-icon{cursor:help;font-size:1.1rem}.violation-icon.underhours{color:#e65100}.violation-icon.absence{color:#c62828}.violation-form{max-width:500px;margin:0 auto;padding:24px}.violation-form h2{font-size:1.3rem;margin-bottom:16px;color:#333}.violation-info{background:#f5f5f5;border-radius:8px;padding:16px;margin-bottom:20px}.info-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #e0e0e0}.info-row:last-child{border-bottom:none}.info-label{font-weight:600;color:#555}.info-value{color:#333}.violation-type-underhours{color:#e65100;font-weight:600}.violation-type-absence{color:#c62828;font-weight:600}.violation-comment label{display:block;font-weight:600;margin-bottom:8px;color:#555}.violation-comment textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;font-size:.9rem;font-family:inherit;resize:vertical;box-sizing:border-box}.violation-comment textarea:focus{outline:none;border-color:#1976d2}.submit-btn{margin-top:12px;background:#1976d2;color:#fff;border:none;border-radius:6px;padding:10px 28px;font-size:.9rem;cursor:pointer;font-weight:600}.submit-btn:hover{background:#1565c0}.submit-btn:disabled{background:#90caf9;cursor:not-allowed}.success-message{color:#2e7d32;font-weight:600;margin-bottom:12px}.comment-display{background:#f5f5f5;border-radius:6px;padding:12px}.comment-display p{margin:4px 0 0;color:#333}.violation-submitted{margin-top:16px}
